web-dev-qa-db-ja.com

部分的に透明な散布図、ただし無地のカラーバー

PythonでMatplotlibを使用して、透明度(アルファ<1)を使用して単純に散布図を作成するが、カラー値を表すカラーバーを使用してアルファ= 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()を試しましたが、何もしませんでした…

31
Eric O Lebigot

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

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

ただし、これが続行するための最も堅牢な方法であることを確認できると便利です。 :)

31
Eric O Lebigot

これは巨大で醜いハックです。しかし、他の方法ではうまくいきません。たぶん他の誰かが改善することができます。

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

11
Steve Tjoa