用python做热力图,半个月前代码还可以执行通过,今天再次跑程序就报错了“AttributeError: 'str' object has no attribute 'spines'”,求大神帮忙看看什么原因,已做的操作有更新了seaborn库
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv('f://pandas/Figure4a.csv')
df = pd.DataFrame(data)
rc = {'font.sans-serif': 'SimHei','axes.unicode_minus': False}
sns.set(font_scale=0.7, rc=rc) # 设置字体大小
sns.heatmap(data,
# annot=True, # 显示相关系数的数据
center= 600, # 居中
#fmt='.2f', # 只显示两位小数
linewidth=0.5, # 设置每个单元格的距离
#linecolor='blue', # 设置间距线的颜色
vmin=0, vmax=1250, # 设置数值最小值和最大值
# xticklabels=True, yticklabels=True, # 显示x轴和y轴
square=False, # 每个方格都是正方形
cbar=True, # 绘制颜色条
cmap='GnBu', # 设置热力图颜色
ax= 'top',
)
plt.savefig("f://pandas/Figure4a.png", dpi=1000) # 保存图片,分辨率为600
plt.ion() # 显示图片
plt.close('all') # 关闭图片
根据您提供的代码,我发现您在绘制热力图时,传入的是 data
,而不是 df
,这可能导致您的代码出现问题。您可以尝试将 sns.heatmap(data, ...)
改为 sns.heatmap(df, ...)
,然后再次运行程序。如果问题仍然存在,请提供完整的错误信息和数据文件,以便更好地帮助您解决问题。