我正在尝试使用matplotlib的histogram2d绘制一些2D经验概率分布。我希望颜色在多个不同的图上具有相同的比例,但是即使我知道结果分布的全局上下限,也无法找到一种设置比例的方法。照原样,每个色标将从直方图箱的最小高度到最大高度,但是对于每个图来说,此范围将有所不同。
一种可能的解决方案是迫使一个垃圾箱占据我的下限的高度,并迫使另一个垃圾箱占据我的上限的高度。即使这似乎也不是一个非常直接的任务。
最佳答案
通常,matplotlib中大多数内容的颜色缩放均由vmin
和vmax
关键字参数控制。
您必须稍微阅读两行,但正如文档所述,hist2d
中的其他kwargs会传递给pcolorfast
。因此,您可以通过vmin
和vmax
kwargs指定颜色限制。
例如:
import numpy as np
import matplotlib.pyplot as plt
small_data = np.random.random((2, 10))
large_data = np.random.random((2, 100))
fig, axes = plt.subplots(ncols=2, figsize=(10, 5), sharex=True, sharey=True)
# For consistency's sake, we'll set the bins to be identical
bins = np.linspace(0, 1, 10)
axes[0].hist2d(*small_data, bins=bins, vmin=0, vmax=5)
axes[1].hist2d(*large_data, bins=bins, vmin=0, vmax=5)
plt.show()
关于python - 更改matplotlib直方图的高度范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29236907/