【发布时间】:2016-07-28 16:56:09
【问题描述】:
这是我之前想要转换为二维直方图的图。
mass_bh = (subhalos['SubhaloBHMass'] * 1e10 / 0.704) # in units of M_sol h^-1
vdisp = subhalos['SubhaloVelDisp']
nbins = 200
H, xedges, yedges = np.histogram2d(mass_bh,vdisp,bins=nbins)
fig2 = plt.figure()
plt.pcolormesh(xedges,yedges,Hmasked)
cbar = plt.colorbar()
cbar.ax.set_ylabel('g-r')
plt.ylabel(' $\log(\sigma)\quad$ [km s$^{-1}$] ')
plt.xlabel('$\log(M_{BH})\quad$ [M$_{\odot}$]')
plt.title('$M_{BH}-\sigma$ relation')
这反而给了我这个
我之前的绘图将其x 和y 值都转换为对数缩放。但是对于这种直方图转换,效果并不理想。
我该如何解决这个问题?
谢谢!
【问题讨论】:
-
如果不知道您希望您的绘图是什么样子或您拥有什么样的数据,就很难知道您所说的“不正确”是什么意思。
-
@Lanery - 你是对的。让我快速详细地添加一张图片。
-
问题似乎出在数据上。注意轴上的限制是完全不同的。
-
@armitita - 是的,你是对的。上一个绘图对我的 xy 绘图使用了对数缩放,创建了您看到的第一个绘图。对直方图实施对数缩放会导致绘图不显示。第二个是没有对数缩放。
标签: python matplotlib plot histogram