【发布时间】:2021-10-20 18:25:14
【问题描述】:
我的代码无法加载,因为出现了下面提到的信息。记住我的 ppthdf 变量是一个 1 列和 100000 行的 excel 文件。你至少能猜到我错了吗?
代码:
p = np.arange(0.001, 100000, 0.01)
counts, bins = np.histogram(ppthdf['PPth'], density=True)
plt.scatter(p, counts, s=100, c='red')
plt.show()
问题:
ValueError: x 和 y 的大小必须相同
(其实上图是和直方图一起绘制的,但是我的直方图可以,就是不能在直方图上放点,这就是上面代码的原因。)
【问题讨论】:
-
这一定是因为
p和counts的大小不一样绘制点。您可能希望确保生成的p的数量等于counts的大小。 -
尝试通过
print(counts.shape, p.shape)打印它们的形状,你会发现原因。很有可能,counts只有 10 行,而您的 p 有 10000000 行。您是否正在尝试绘制直方图? -
是的,我想绘制直方图,但点在每个 bin 的顶部(散点图和 histo 的混合以可视化函数)。
标签: python matplotlib graphics histogram scatter-plot