【发布时间】:2016-11-23 15:05:42
【问题描述】:
我正在使用 contourf 绘制一些数据,但在设置透明度时遇到了麻烦。我希望能够设置填充和线条的透明度,但似乎无法做到这一点。
我的代码的简化版本如下:
array = np.random.rand(100,100)
#lonit and latit are latitude and longitude grids from an input dataset
LONG, LAT = np.meshgrid(lonit, latit)
longitude,latitude = m(LONG, LAT)
pp = m.contourf(longitude, latitude, imagelist[0], 50,
cmap='YlOrRd', extend="min", alpha = .5)
plt.show()
如您所见,尽管 alpha 设置为 0.5,但等高线的透明度仍为 1。有谁知道如何修改它以使它们与填充具有相同的透明度?或者,完全删除轮廓线可能会起作用,但我喜欢 contourf 方法,因为它使可视化更容易(除了上述线条!)
我的目标是在下面显示一个底图,这样线条会增加我的情节的复杂性,因此想要删除/使它们不可见。
提前致谢!
更新:更多图表显示问题
Alpha 设置为 0.6,AntiAliased 设置为 True:
pp = m.contourf(longitude, latitude, imagelist[0], 50,
cmap='YlOrRd', extend="min", alpha = 0.6, antialiased = True)
这改善了线条,但仍未摆脱它们。
【问题讨论】:
-
你确定
alpha参数不会改变两者的透明度吗? -
尝试进一步降低 alpha 值?
-
大家好,我已经更新了问题,添加了更多显示不同 alpha 级别的图像! - Alpha = 0 产生一个完全不可见的图,这意味着它的透明度正在被改变。也许我需要完全删除轮廓线,所以我会将此选项添加到原始问题中。
-
我以前也遇到过类似的问题;有时调用
contourf两次似乎可以解决问题(我知道,这很难看......)。
标签: python matplotlib contourf