我希望我的contourf半透明,但我的颜色条不是

时间:2016-01-12 13:22:00

标签: python matplotlib

colorbar与我在图像上放置的contourf-plot具有相同的透明度。

我可以通过在最低的" zorder" -location添加一个没有透明度的伪造的contourf图来实现一个不透明的颜色条,但我想有一个正确的方法?

这给了我一个半透明的颜色条:

cs = m.contourf(xv,yv,zi,zorder=4,alpha=0.7,origin="lower")
cbar = m.colorbar(cs,location='right',pad="5%")

1 个答案:

答案 0 :(得分:4)

你可以做到,但没有特别的方法专门用于此。 (也许应该有。)相反,您可以手动修改alpha的{​​{1}}值。

例如,让我们演示一般问题:

cbar.solids

enter image description here

然后,如果我们改变import numpy as np import matplotlib.pyplot as plt data = np.random.random((10,10)) fig, ax = plt.subplots() im = ax.imshow(data, cmap='gist_earth', alpha=0.5) cbar = fig.colorbar(im) plt.show() 的透明度:

cbar.solids

enter image description here

在旁注中,如果您使用的是透明的import numpy as np import matplotlib.pyplot as plt data = np.random.random((10,10)) fig, ax = plt.subplots() im = ax.imshow(data, cmap='gist_earth', alpha=0.5) cbar = fig.colorbar(im) cbar.solids.set(alpha=1) plt.show() 而不是contour,则可能需要修改所有contourf的{​​{1}}值,如好。