[英]Same seaborn plots with different data names
I need to generate multiple heatmaps using seaborn.我需要使用 seaborn 生成多个热图。 All plots have the same format and the only difference is data names (Pandas data frames), and I'm looking for a way that is simpler than using multiple, similar lines.所有图都具有相同的格式,唯一的区别是数据名称(Pandas 数据框),我正在寻找一种比使用多条相似线更简单的方法。 Let's say I want to generate 5 heatmaps from 5 dataframes (df1, df2, df3, df4, df5).假设我想从 5 个数据帧(df1、df2、df3、df4、df5)生成 5 个热图。 Below is what I tried.以下是我尝试过的。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df1=pd.read_excel('c:/temporary/df1.xlsx')
df2=pd.read_excel('c:/temporary/df2.xlsx')
df3=pd.read_excel('c:/temporary/df3.xlsx')
df4=pd.read_excel('c:/temporary/df4.xlsx')
df5=pd.read_excel('c:/temporary/df5.xlsx')
for group in [‘df1’, ‘df2’, ‘df3’, ‘df4’, ‘df5’]:
fig = plt.figure()
x_labels = ['apple','orange','kiwi']
y_labels = ['1','2','3']
ax1 = fig.add_axes([0.25,0.25,0.7,0.7])
ax=sns.heatmap(f’{group}, xticklabels=x_labels, yticklabels=y_labels, ax=ax1)
fig.savefig(f'c:/temporary/{group}-matrix.png')
It didn't work I guess because f'{group} cannot be a dataframe, but are there any ways similar to this instead of writing 5 similar lines like below?我猜它不起作用,因为 f'{group} 不能是数据框,但是有没有类似的方法而不是像下面这样写 5 行类似的行? Thanks in advance.提前致谢。
ax=sns.heatmap(df1, xticklabels=x_labels, yticklabels=y_labels, ax=ax1)
ax=sns.heatmap(df2, xticklabels=x_labels, yticklabels=y_labels, ax=ax1)
ax=sns.heatmap(df3, xticklabels=x_labels, yticklabels=y_labels, ax=ax1)
ax=sns.heatmap(df4, xticklabels=x_labels, yticklabels=y_labels, ax=ax1)
ax=sns.heatmap(df5, xticklabels=x_labels, yticklabels=y_labels, ax=ax1)
如果我没看错,那么它看起来就像只是用变量列表[df1, df2, df3, df4, df5]
['df1', 'df2', 'df3', 'df4', 'df5']
改变你的列表[df1, df2, df3, df4, df5]
然后用group
改变f'{group}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.