簡體   English   中英

Matplotlib:使用離散點在兩條曲線之間填充_

[英]Matplotlib: fill_between two curves using discrete points

我正在嘗試重新創建以下圖像:

在此處輸入圖片說明

到目前為止,我已經編寫了以下代碼:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

yLow,yHigh = (-75,200)
xLow,xHigh = (-5.5,2.5)

plt.figure(figsize=(15,10))
ax = plt.gca()

x = np.linspace(xLow,xHigh,1000)
y = x**4
yG = -20*x +20

plt.plot(x,y,linewidth=1,linestyle='--',color='black');
plt.plot(x,yG,linewidth=3,);

plt.xlim(xLow,xHigh);
plt.ylim(yLow,yHigh);
# plt.xticks([], []);
# plt.yticks([], []);

plt.fill_between(x,yG,yHigh,alpha=0.3,color='green');
plt.fill_between(x,yG,yLow,alpha=0.3,color='green');
plt.fill_between(x,y,yG,color='red');

產生:

在此處輸入圖片說明

現在,我想繪制單個點的網格,並像原始圖像一樣將它們着色為綠色或紅色。 我本質上想用離散點而不是完整的陰影填充。 這可能嗎?

供以后參考,我能夠通過散點圖和網格網格實現以下目的:

X,Y = np.meshgrid(x,np.linspace(yLow,yHigh,numPoints));
Z = ( (Y<X**4) & (Y>-20*X +20) ) | ( (Y>X**4) & (Y<-20*X +20) );
plt.scatter(X,Y,c=Z,cmap=ListedColormap(['green','red']),alpha=0.5);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM