私はいくつかのインタラクティブなプロットを作成しています。カラーバーの凡例を追加したいと思います。私はカラーバーを独自の軸にしたくないので、既存の軸にカラーバーを追加したいと思います。私が見つけたサンプルコードの大部分がカラーバーの新しい軸を作成するので、これを行うのが難しいです。既存の軸にカラーバーを追加する
matplotlib.colorbar.ColorbarBase
を使用して次のコードを試しましたが、これは既存の軸にカラーバーを追加しますが、私には奇妙な結果が生じ、カラーバーの属性を指定する方法がわかりません(たとえば、代わりにmatplotlib.colorbar.ColorbarBase
のfig.colorbar
を使用して
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.cm import coolwarm
import numpy as np
x = np.random.uniform(1, 10, 10)
y = np.random.uniform(1, 10, 10)
v = np.random.uniform(1, 10, 10)
fig, ax = plt.subplots()
s = ax.scatter(x, y, c=v, cmap=coolwarm)
matplotlib.colorbar.ColorbarBase(ax=ax, cmap=coolwarm, values=sorted(v),
orientation="horizontal")
はまだ私が欲しいかなりのものを私に与えていない、と私はまだカラーバーの属性を調整する方法がわからない)に配置され、どのようなサイズ、それはです。
fig.colorbar(s, ax=ax, cax=ax)
のは、私は、プロットの上部に約半分伸ばし、左上隅にあるカラーバーを持ちたいとしましょう。それをどうやってやりますか?
LineCollection
を使用して、カスタム機能を作成する方がよいでしょうか?
私はこれへの答えを持っていません。しかし、なぜ新しい軸を与えるのではなく、カラーバーを既存の軸の一部にしたいのですか? – tnknepp
@tnknepp私は、ズーム/パン、プロットのオン/オフなどを使ってインタラクティブなプロットを作成しています。カラーバーの新しい軸を作成する必要はありません。 –
なぜ ' fig.colorbar(ax = ax) '? – tom