gpt4 book ai didi

python - 尝试添加颜色条时出错

转载 作者:行者123 更新时间:2023-11-30 23:31:15 25 4
gpt4 key购买 nike

我正在尝试创建一个相关矩阵。创建矩阵工作正常,直到我尝试添加颜色条。

这是我当前的代码:

def corr_matrix(data):
'''function to find the mean for days'''

data=data.ix[:,1:].corr(method='pearson')
row_lab=[]
col_lab=[]

for i in data:
row_lab.append(i)
col_lab.append(i)
column_labels = col_lab
row_labels = row_lab
data=np.round(data.corr(method='pearson').abs(), decimals=2)
data=np.array(data)
fig, ax = plt.subplots()

plt.axis('tight')
heatmap = ax.pcolor(data, cmap='RdPu'),
plt.colorbar(mappable=heatmap) # put the major ticks at the middle of each cell
ax.set_xticks(np.arange(data.shape[0])+0.5, minor=False)
ax.set_yticks(np.arange(data.shape[1])+0.5, minor=False)

ax.invert_yaxis()
ax.xaxis.tick_top()
ax.set_xticklabels(row_labels, minor=False, rotation=90)
ax.set_yticklabels(column_labels, minor=False)
plt.show()

我尝试过plt.colorbar()。这也行不通。任何帮助都会很棒!

我看过这个问题:AttributeError while adding colorbar in matplotlib但答案似乎不起作用:(

这是我的错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\AClayton\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 538, in runfile
execfile(filename, namespace)
File "C:/Users/AClayton/Desktop/HData/correlation.py", line 152, in <module>
cmat=corr_matrix(all_data)
File "C:/Users/AClayton/Desktop/HData/correlation.py", line 88, in corr_matrix
plt.colorbar(mappable=heatmap) # put the major ticks at the middle of each cell
File "C:\Users\AClayton\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\matplotlib\pyplot.py", line 2121, in colorbar
ret = gcf().colorbar(mappable, cax = cax, ax=ax, **kw)
File "C:\Users\AClayton\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\matplotlib\figure.py", line 1451, in colorbar
cb = cbar.colorbar_factory(cax, mappable, **kw)
File "C:\Users\AClayton\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\matplotlib\colorbar.py", line 1274, in colorbar_factory
cb = Colorbar(cax, mappable, **kwargs)
File "C:\Users\AClayton\WinPython-64bit-2.7.5.3\python-2.7.5.amd64\lib\site-packages\matplotlib\colorbar.py", line 852, in __init__
mappable.autoscale_None()
AttributeError: 'tuple' object has no attribute 'autoscale_None'

编辑all_data 替换为 data,因为这是一个拼写错误。

data=pd.DataFrame(np.random.rand(10,10)) 产生错误

最佳答案

这是一个我并不自豪的答案,也许你对你的问题也会有同样的感觉。
我来了:

错误

AttributeError: 'tuple' object has no attribute 'autoscale_None'

触发

mappable.autoscale_None()

告诉你热图在

plt.colorbar(mappable=heatmap)

实际上是一个元组

怎么来的?

如果你写

>>> a = 1,

您正在定义一个元组

>>> a
(1,)
>>> type(a)
<type 'tuple'>

这与您在以下内容中所做的相同:

heatmap = ax.pcolor(data, cmap='RdPu'),     

所以,去掉分号,你会得到一个像这样的漂亮数字:

enter image description here

关于python - 尝试添加颜色条时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20053840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com