我正在尝试可视化一个带有颜色的直方图作为“第三维”。
下面是我的代码:
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[4,4,4,4,4]
z=[1,2,3,4,5]
x=np.array(x)
y=np.array(y)
z=np.array(z)
hist, xedges, yedges = np.histogram2d(x, y, weights=z)
counts, _, _ = np.histogram2d(x, y, bins=(xedges, yedges))
average = hist/counts
plt.pcolormesh(average)
plt.colorbar()我的结果

我搞不懂为什么颜色框不能正确地对应x和y数组?例如,黄色框应该垂直放置在5处,而不是10处。
发布于 2019-06-20 04:03:00
np.histogram2d默认为bins=10。也就是说,您在每个方向上都有10存储箱。因此您数组的长度是11,而hist和count是11x11数组。因此,pcolormesh显示11x11图片,并且y轴的顶值10对应于xedges[-1],其为5。
https://stackoverflow.com/questions/56673423
复制相似问题