42

Pythonで、Matplotlibを使用して、透明度(alpha <1)を使用し、カラー値を表すカラーバーを使用して、alpha = 1の散布図を作成するにはどうすればよいですか?

これが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()ましたが、何もしませんでした…</ p>

4

2 に答える 2

40

さて、私はそれを行う1つの方法を見つけました。それは比較的きれいに見えます:(ColorBar質問のオブジェクトを使用して)

color_bar.set_alpha(1)
color_bar.draw_all()
# pylab.draw() or pyplot.draw() might be necessary

ただし、これが最も堅牢な方法であるという確認を得るのは素晴らしいことです。:)

于 2010-12-18T20:55:18.037 に答える
15

これは巨大で醜いハックです。しかし、他の方法は機能しません。多分誰か他の人が改善することができます。

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

代替テキスト

于 2010-12-18T20:27:52.617 に答える