2019-02-25
阅读量:
808
尝试使用热图添加颜色条时的AttributeError
我正在尝试绘制热图来说明属性之间的相关性。当我尝试将颜色条添加到图中时出现错误。这是代码和图像:
def housing_heatmap(data=housing_copy):
columns = data.select_dtypes(exclude='object').columns
corr_matrix = data.corr()
fig, ax = plt.subplots(figsize=(8, 8))
ax.matshow(corr_matrix, cmap='jet')
ax.set_xticks(range(len(columns)))
ax.set_yticks(range(len(columns)))
ax.set_xticklabels(columns)
ax.set_yticklabels(columns)
plt.setp(ax.get_xticklabels(), rotation=45, ha='left', rotation_mode='anchor')
plt.colorbar(corr_matrix)
fig.tight_layout()
plt.show()
return None
housing_heatmap()
此代码在生成图像时出错。这是图像:
这是由线引起的错误:
plt.colorbar(corr_matrix)
AttributeError: 'DataFrame' object has no attribute 'autoscale_None'
有没有办法可以为热图添加颜色条而不会产生此错误?
解决办法:需要将图像传递给plt.colorbar
,而不是矩阵本身:
def housing_heatmap(data= housing_copy):
columns = data.select_dtypes(exclude='object').columns
corr_matrix = data.corr()
fig, ax = plt.subplots(figsize=(8, 8))
mat_plot = ax.matshow(corr_matrix, cmap='jet')
ax.set_xticks(range(len(columns)))
ax.set_yticks(range(len(columns)))
ax.set_xticklabels(columns)
ax.set_yticklabels(columns)
plt.setp(ax.get_xticklabels(), rotation=45, ha='left', rotation_mode='anchor')
plt.colorbar(mat_plot)
fig.tight_layout()
plt.show()
housing_heatmap()






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论