我尝试使用MatPlotLib在Python中简单地填充曲线下的区域。
以下是我的SSCCE:
import json
import pprint
import numpy as np
import matplotlib.pyplot as plt
y = [0,0,0,0,0,0,0,0,0,0,0,863,969,978,957,764,767,1009,1895,980,791]
x = np.arange(len(y))
fig2, ax2 = plt.subplots()
ax2.fill(x, y)
plt.savefig('picForWeb.png')
plt.show()
所附图片显示了产生的输出。
有人知道为什么Python没有填充x轴和曲线之间的整个区域吗?
我做了谷歌和StackOverflow搜索,但找不到类似的例子。直觉上,它似乎应该填补曲线下的整个区域。
3条答案
按热度按时间vptzau2j1#
我通常使用fill_between函数来绘制这类图。试试这样的方法:
查看更多示例here。
cxfofazt2#
如果你想在
pd.DataFrame
上使用这个:interpolate()
是可选的。ehxuflar3#
plt.fill
假设你有一个封闭的形状要填充-有趣的是,如果你在数据的最后加上一个0,你会得到一个更合理的图。结果:x1c 0d1x
希望这有助于解释你的奇怪情节。