Adr*_*ins 10 python matplotlib
这似乎是这个问题的重复:
基本上我想设置颜色条范围来设置限制,例如 0 到 2。当我使用 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)
Run Code Online (Sandbox Code Playgroud)
导致
如何使用轮廓将颜色条范围强制为 0 到 2?
Imp*_*est 10
contourf 确实与其他的有点不同 ScalarMappables 的。如果您指定级别数(在本例中为 20),它将在最小和最大数据(大约)之间取值。如果您希望n在两个特定值之间具有级别,vmin并且vmax需要将这些值提供给等高线函数
levels = np.linspace(vmin, vmax, n+1)
plt.contourf(fld,levels=levels,cmap='coolwarm')
Run Code Online (Sandbox Code Playgroud)
完整代码:
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()
Run Code Online (Sandbox Code Playgroud)