部分透明的散点图,但带有纯色条

时间:2010-12-18 15:44:50

标签: python matplotlib scatter colorbar

在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()

获得的内容

alt text

如何使颜色条不透明?

PS :我试过color_bar.set_alpha(1); draw(),但这没有做任何事......

2 个答案:

答案 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()

alt text