46

matplotlib.pyplot の 3 行の間を埋めたいのですが、残念ながらfill_between2 行の間だけを埋めることができます。これに対処する方法はありますか?

編集:

わかりました。現在の評判では写真を追加できないため、本当の意味を説明しませんでした。おそらくそのように:

これらの線で囲まれたポリゴンを塗りつぶそうとしましたが、fill_between を使用すると、2 つの線の間の領域のみを塗りつぶすことができるため、方法がわかりません。塗りつぶし式の下:

y <= 4- 2x
y <= 3 - 1/2x
y <= 1 - x
y >= 0
x >= 0

0 より大きい x と y は明らかです。(0,0) からプロットを開始しますが、まだ 3 行あります...

y <= 4- 2x
y <= 3 - 1/2x
y <= 1 - x
4

3 に答える 3

35

を使用するfill_betweenには、「間を埋める」 2 つの Y セットよりも最初に X 値を指定します。例を以下に示します。

import pylab as plt
import numpy as np

X  = np.linspace(0,3,200)
Y1 = X**2 + 3
Y2 = np.exp(X) + 2
Y3 = np.cos(X)

plt.plot(X,Y1,lw=4)
plt.plot(X,Y2,lw=4)
plt.plot(X,Y3,lw=4)

plt.fill_between(X, Y1,Y2,color='k',alpha=.5)
plt.fill_between(X, Y1,Y3,color='y',alpha=.5)

plt.show()

ここに画像の説明を入力

代わりに、Y2 と Y3 の間だけを埋めたい場合:

plt.fill_between(X, Y2,Y3,color='m',alpha=.5)

これはあなたに与えるでしょう

ここに画像の説明を入力

于 2013-05-07T14:21:08.397 に答える