亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 fill_ Between 和 min/max 來表示不等式

使用 fill_ Between 和 min/max 來表示不等式

DIEA 2023-08-08 14:54:03
我的代碼:import matplotlib.pyplot as pltimport numpy as np# x > 0x = np.linspace(0,17, 100)#x2>=0y0 = (x*0)#-x1+x2 <= 1y1 = 1+x#x1+6x2 <= 15y2 = 15/6 - (1/6)*x#4x1-x2 <= 10y3 = 4*x-10plt.xlabel(r'$x_2>=0$')plt.ylabel(r'$x_1>=0$')plt.plot(x,y0,'r')plt.plot(x,y1, 'b')plt.plot(x,y2, 'y')plt.plot(x,y3, 'g')plt.xlim((0,17))plt.ylim((0,9))#feasible regiona1 = np.minimum(y2,y3)a2 = np.minimum(y1,y2)plt.fill_between(x, y1, y3, where = a1 < a2, color = 'grey', alpha = 0.5)這會生成以下圖:.但是,我不希望灰色延伸超過黃線,即我想刪除位于 4 邊多邊形上方的三角形內的灰色。意思是,我希望也刪除超過黃線的值,但我不確定如何在不添加另一個參數的情況下表示這一點where。我只在嘗試此操作時遇到錯誤。有沒有辦法指定多個參數where?編輯:我通過將參數調整為以下方式解決了問題:#feasible regiona1 = np.maximum(y0,y3)a2 = np.minimum(y1,y2)plt.fill_between(x, a1, a2, where = a1 < a2, color = 'grey', alpha = 0.5)但是,我仍然對可能指定多個參數感到好奇where,所以我將保留這個問題。
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

您可以使用np.maxiumum和np.minimum來定義您的 y 值。這樣你就不必“分段”了。使用maximum下限來定義要繪制的一個下限。minimum與你的上限相同。另外,在您的示例中,您切斷了 y 軸,實際上下面有陰影區域。


Y1 = np.maximum(y0, y3)

Y2 = np.minimum(y1, y2)

plt.fill_between(x, Y1, Y2, where = Y1 < Y2, color = 'grey', alpha = 0.5)

https://img1.sycdn.imooc.com//64d1e6be0001379e03780267.jpg

查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號