我想在x = 0到x
import matplotlib.pyplot as plt
fig, (ax1) = plt.subplots(1,1)
x = [1,2,3]
y=[10,20,30]
ax1.plot(x, y)
ax1.fill_between(x, 0, y, where=x<3, facecolor='green', interpolate=True)
plt.show()
答案 0 :(得分:1)
问题是尝试使用标准python列表创建一个布尔掩码。如果您将x
和y
投射到numpy.array
,那么一切都应该有效。
import matplotlib.pyplot as plt
import numpy as np
fig, (ax1) = plt.subplots(1)
x = np.array([1,2,3])
y = np.array([10,20,30])
ax1.plot(x, y)
ax1.fill_between(x, 0, y, where=x<3, facecolor='green', interpolate=True)
plt.show()
如果x
是python列表,x<3
会返回False
,但fill_between
的{{1}}关键字需要where
numpy布尔数组。
N-length