16

matplotlibでfill_betweenを使用して、y1とy2ではなくx1とx2の間でシェーディングする方法を探しています。

Y軸に深さ、x軸に測定変数を含む一連の対数プロットがあり、プロットされた線の上または下ではなく、左または右に陰影を付けたいと考えています。

これはfill_betweenで可能になるはずですが、機能させることはできません。

例として:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec


gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :])
ax2 = plt.subplot(gs[1:, 1])

y=np.random.uniform(0,1,30)
x=np.arange(30)

ax1.set_ylabel('Plot 1')
ax1.plot(x,y)
ax1.fill_between(x,y,0.5,where=y>0.5,interpolate=True)

ax2.set_ylabel('Plot 2')
ax2.plot(y,x)
ax2.set_ylim(30,0)

plt.show()

私はこれが生み出すものの画像を添付しました:本質的に私はプロット2の位置にプロット1のようなものをプロットしたいです ここに画像の説明を入力してください

提案ありがとうございます

4

1 に答える 1

25

あなたが使用することができますfill_betweenx

ax2.fill_betweenx(y,x, x2=0.5, where=x>0.5,interpolate=True)
于 2013-03-23T17:33:49.577 に答える