在Python中,使用Matplotlib,如何简单地使用透明度(alpha< 1)进行散点图,但使用颜色条表示其颜色值,但是alpha = 1?
以下是from pylab import *; scatter(range(10), arange(0, 100, 10), c=range(10), alpha=0.2); color_bar = colorbar()
:
如何使颜色条不透明?
PS :我试过color_bar.set_alpha(1); draw()
,但这没有做任何事......
答案 0 :(得分:31)
好吧,我找到了一种方法,看起来相对干净:(使用问题中的ColorBar
对象)
color_bar.set_alpha(1)
color_bar.draw_all()
# pylab.draw() or pyplot.draw() might be necessary
尽管如此,确认这是最有效的方法会很棒! :)
答案 1 :(得分:11)
这是一个巨大的,丑陋的黑客。但没有其他方法可行。也许别人可以改善。
fig1 = pylab.figure()
fig2 = pylab.figure()
ax1 = fig1.add_subplot(111)
ax2 = fig2.add_subplot(111)
ax1.scatter(range(10), range(10), c=range(10), alpha=0.2)
im = ax2.scatter(range(10), range(10), c=range(10), alpha=1.0)
fig1.colorbar(im, ax=ax1)
fig1.show()