提问人:ClimateUnboxed 提问时间:12/6/2018 最后编辑:Trenton McKinneyClimateUnboxed 更新时间:10/6/2023 访问量:20162
使用 Contourf 设置颜色条范围
set colorbar range with contourf
问:
这似乎是这个问题的重复:
从本质上讲,我想设置范围以设置限制,例如 0 到 2。当我使用 和 时,颜色范围设置正确,但颜色条仅显示剪裁范围,即链接中的解决方案在使用 时似乎不起作用。我是否遗漏了一些明显的东西?colorbar
vmin
vmax
contourf
contourf
import numpy as np
import matplotlib.pyplot as plt
fld=np.random.rand(10,10)
img=plt.contourf(fld,20,cmap='coolwarm',vmin=0,vmax=2)
plt.colorbar(img)
导致
如何强制颜色条范围为 0 到 2?contourf
答:
21赞
ImportanceOfBeingErnest
12/6/2018
#1
contourf
确实与其他 S 的工作方式略有不同。如果指定级别数(在本例中为 20 个),则它们将介于最小和最大数据之间(大约)。如果要在两个特定值之间设置级别,并且需要将这些值提供给轮廓函数ScalarMappable
n
vmin
vmax
levels = np.linspace(vmin, vmax, n+1)
plt.contourf(fld,levels=levels,cmap='coolwarm')
完整代码:
import numpy as np
import matplotlib.pyplot as plt
fld=np.random.rand(10,10)
levels = np.linspace(0,2,21)
img=plt.contourf(fld,levels=levels,cmap='coolwarm')
plt.colorbar(img)
plt.show()
评论
np.random.rand
将生成 0-1 范围内的随机统一数。'np.random.rand(10, 10)*2' 会将范围更改为 0-2。