【发布时间】:2020-04-19 22:04:40
【问题描述】:
这是我的例子:
import numpy as np
import matplotlib.pyplot as plt
a1 = np.random.randn(10000)
b1 = np.random.randn(10000)
a2 = np.random.randn(5000)
b2 = np.random.randn(5000)
fig, axs = plt.subplots(1, 2, figsize=(9, 4))
ax = axs[0]
m = ax.hist2d(a1, b1, bins=30)
fig.colorbar(m[3], ax=ax)
ax = axs[1]
m = ax.hist2d(a2, b2, bins=30)
fig.colorbar(m[3], ax=ax)
plt.tight_layout()
我的问题是如何更改右图的颜色范围,使其最大颜色值为 115 而不是 66 ?(注意:不只是改变colorbar的值,相同颜色值的颜色应与左图相同。)
我尝试像这样设置 cmax 关键字:
m = ax.hist2d(a2, b2, bins=30, cmax=115)
但结果没有变化。那我该怎么办呢?
【问题讨论】:
-
对两个 2d 直方图使用
ax.hist2d(..., vmin=0, vmax=115)以使它们具有相同的颜色范围。请注意,cmax是一个截止点:所有高于cmax的值都将不可见(所有低于cmin的值也是如此)。 -
@JohanC 非常感谢!
-
我不知道你为什么在这里得到了反对票。这对我来说似乎是个好问题。
-
@tom10 可能是因为
vmin、vmax这些参数是一些基本的关键字参数。但这没关系。我现在已经理解他们了。感谢您的所有投票和回答
标签: python matplotlib colors