颜色条与我放置在图像上的轮廓图具有相同的透明度。
我可以通过在最低的“zorder”位置添加一个没有透明度的假轮廓图来实现不透明的颜色条,但我想有一种正确的方法吗?
这给了我一个半透明的颜色条:
cs = m.contourf(xv,yv,zi,zorder=4,alpha=0.7,origin="lower")
cbar = m.colorbar(cs,location='right',pad="5%")
Run Code Online (Sandbox Code Playgroud)
你可以做到,但没有专门的方法专门用于这一点。(也许应该有。)相反,您可以手动修改 的alpha值cbar.solids。
例如,让我们演示一下一般问题:
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()
Run Code Online (Sandbox Code Playgroud)
然后如果我们改变透明度cbar.solids:
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()
Run Code Online (Sandbox Code Playgroud)
附带说明一下,如果您使用的是 transparentcontour而不是contourf,您可能还想修改alphaall of的值cbar.lines。
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |