我想要低于一定水平的值(在这种情况下0
) 绘制为透明matplotlib.pcolormesh()
,而且我似乎无法使用我找到的选项进行任何操作。
我尝试过设置kwarg
vmin=1
,我尝试设置限制plt.cm.cmap.set_under(alpha=0)
.
Update:在尝试了示例脚本之后,看来vmin
对我来说工作正常,所以它似乎与其他一些混杂因素有关。我在用Basemap
并尝试绘制密度图,根据数据的最小/最大值设置级别(其他所有值均为零)。
我的示例脚本显示 vmin 工作:
import matplotlib.pyplot as plt
import random
import numpy as np
x = np.linspace(1,4,num=4)
y = np.linspace(1,6,num=6)
x_mesh, y_mesh = np.meshgrid(x,y)
ydim, xdim = x_mesh.shape
z = np.zeros(((ydim-1),(xdim-1)))
for j in range(ydim-1):
for i in range(xdim-1):
z[j,i] = (random.random())+4.
z[1:4,1:2]=0
cmap = plt.cm.Reds
plt.pcolormesh(x,y,z, cmap=cmap, vmin=4)
plt.show()
Output:
您可以使用掩码数组:
import matplotlib.pyplot as plt
import numpy as np
z = np.sin(np.arange(100) / 2).reshape(10, 10)
z = np.ma.masked_array(z, z < -.5)
cmap = plt.cm.Reds
plt.pcolormesh(z, vmin=-1, vmax=1, cmap="RdYlBu")
plt.colorbar()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)