2016-01-12 182 views
1

色條採用與我放置在圖像上的contourf-plot相同的透明度。我希望我的contourf半透明,但我的色條不是

我可以通過在最低的「zorder」位置添加一個沒有透明度的假contourf圖來實現一個不透明的colorbar,但是我想有一個合適的方法嗎?

這給了我一個半透明的彩條:

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

回答

3

你可以這樣做,但有專門只是沒有特定的方法。 (也許應該是)。相反,您可以手動修改的值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() 

enter image description here

然後,如果我們改變的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() 

enter image description here

在一個側面請注意,我如果您正在使用透明contour而不是contourf,則您可能還想修改所有cbar.linesalpha值。

相關問題