2

カラーマップに問題があります。基本的に、私が作りたいものは下の画像に似ています。

一番下のサブプロットでは、関連する色をプロットできるようにしたいと考えていますが、サブプロットの背景全体にまたがっています。つまり、プロット全体のカラーマップのように見え、線や点はプロットされていません。散布図に表示される色に対応している必要があります。

これを行うことは可能ですか?私が理想的にやりたいことは、この背景を一番上のサブプロットの下に置くことです. (y スケールは異なる単位です)

ここに画像の説明を入力

助けてくれてありがとう。

下部散布図サブプロットのコード:

x = np.arange(len(wind))
y = wind
t = y
plt.scatter(x, y, c=t)

ここで、wind は 1D 配列です

4

1 に答える 1

5

imshow を使用して風配列を表示できます。2D 配列に再形成する必要がありますが、「高さ」の次元は長さ 1 にすることができます。範囲を上の軸の次元に設定すると、それと整列します。

wind = np.random.randn(100) + np.random.randn(100).cumsum() * 0.5
x = np.arange(len(wind))
y = wind
t = y

fig, ax = plt.subplots(2,1,figsize=(10,6))

ax[0].plot(x,y)

ax[1].plot(x, 100- y * 10, lw=2, c='black')

ymin, ymax = ax[1].get_ybound()
xmin, xmax = ax[1].get_xbound()

im = ax[1].imshow(y.reshape(1, y.size), extent=[xmin,xmax,ymin,ymax], interpolation='none', alpha=.5, cmap=plt.cm.RdYlGn_r)
ax[1].set_aspect(ax[0].get_aspect())

cax = fig.add_axes([.95,0.3,0.01,0.4])
cb = plt.colorbar(im, cax=cax)
cb.set_label('Y parameter [-]')

ここに画像の説明を入力

「背景」として使用したい場合は、最初に必要なものをプロットする必要があります。次に、下のプロットの範囲をつかみ、範囲として に設定しimshowます。imshowを使用して、任意のカラーマップを提供することもできますcmap=

于 2013-11-12T10:40:55.387 に答える