Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在图形之间填充_Python_Matplotlib - Fatal编程技术网

Python:在图形之间填充

Python:在图形之间填充,python,matplotlib,Python,Matplotlib,我画了一个波形和一条水平线,将波形分成上下两部分。使用线间填充技术ax.fill_between,为什么黄色区域显示不正确? 请帮忙。TQ import matplotlib.pyplot as plt import numpy as np from scipy.interpolate import make_interp_spline as make xy = [(0,2), (1,3.5), (2,6.25), (3,8.7), (4,7.7), (5,3), (6,2.5)

我画了一个波形和一条水平线,将波形分成上下两部分。使用线间填充技术ax.fill_between,为什么黄色区域显示不正确? 请帮忙。TQ

import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import make_interp_spline as make

xy = [(0,2), (1,3.5), (2,6.25), (3,8.7), (4,7.7), 
      (5,3), (6,2.5), (7,3.7), (8,4.3), (9,4.5), (10,2)]

X = np.array([x for (x,y) in xy])
Y = np.array([y for (x,y) in xy])

X_new = np.linspace(0,10,1000)
s1 = make(X, Y)
Y_new = s1(X_new)

rms = np.sqrt(np.mean(Y**2))

y_upper = np.maximum(rms, Y_new)
y_lower = np.minimum(rms, Y_new)

fig, ax = plt.subplots(figsize=(8, 8))
#ax.plot(X,Y)
ax.plot(X_new, Y_new, label = 'wave')
ax.hlines(y=rms, xmin=0, xmax=10, linestyles='--')
ax.set_xlim(xmin=0, xmax=10)
ax.set_ylim(ymin=1, ymax=10)
ax.set_xticks([])
ax.set_yticks([])
ax.fill_between(X_new, rms, y_upper, facecolor='blue', alpha=0.5)
ax.fill_between(X_new, X_new, y_lower, facecolor='yellow', alpha=0.5)
plt.show()

您刚才在这里输入了一个错误:

ax.fill_between(X_new, X_new, y_lower, facecolor='yellow', alpha=0.5)
应该是:

ax.fill_between(X_new, rms, y_lower, facecolor='yellow', alpha=0.5)

您刚才在这里输入了一个错误:

ax.fill_between(X_new, X_new, y_lower, facecolor='yellow', alpha=0.5)
应该是:

ax.fill_between(X_new, rms, y_lower, facecolor='yellow', alpha=0.5)
您的“黄色填充”不正确。您是从对角线填充的

尝试:

好吧,看看另一个答案,这取决于你想在……之间填充什么:

您的“黄色填充”不正确。您是从对角线填充的

尝试:


好吧,看看另一个答案,这取决于你想在……之间填充什么:

这不管用。但它在波形之外填充。这不起作用。但它在波形之外填充。