This question already has answers here:
How do I use colorbar with hist2d in matplotlib.pyplot?
                                
                                    (2个答案)
                                
                        
                                2年前关闭。
            
                    
我正在尝试在Python中实现2D直方图的颜色条。

这是我的代码:

import matplotlib.pyplot as plt
import numpy as np


mean=[0,0]
cov=[[1,1],[1,2]]
x,y = np.random.multivariate_normal(mean,cov,10000).T

fig=plt.figure()
ax=plt.axes()

cax=ax.hist2d(x,y,bins=30,cmap="Blues")
cb=fig.colorbar(cax)
cb.ax.set_label("counts in bin")

plt.show()


但是在这里我得到了错误信息:


  AttributeError:“元组”对象没有属性“ autoscale_None”


我究竟做错了什么?
我想要面向对象,因此我想使用ax和fig的方法,而不是使用plt的功能。

我希望有人能帮助我...

最佳答案

ax.hist2d返回一个元组:


  返回值为(counts, xedges, yedges, Image)


您只需要颜色条的图像即可:

cb=fig.colorbar(cax[3])

10-07 12:09