好问题!我建议您不要将自己限制在fill_between函数中。我总是认为深入了解事物的内在是有益的。让我们深入了解Python绘图的本质。在
因此,如果你掌握了Path,你基本上可以用任何方式画出你喜欢的任何东西。现在让我们看看如何用魔法Path来实现你的目标。在
为了得到你在问题中提到的矩形,只需要对示例稍加修改。在import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches
verts = [(0., 0.), # left, bottom
(-1., 1.), # left, top
(1., 3.), # right, top
(2., 2.), # right, bottom
(0., 0.),] # ignored
codes = [Path.MOVETO,
Path.LINETO,
Path.LINETO,
Path.LINETO,
Path.CLOSEPOLY,]
path = Path(verts, codes)
fig = plt.figure()
ax = fig.add_subplot(111)
patch = patches.PathPatch(path, facecolor='orange', lw=2)
ax.add_patch(patch)
ax.axis('equal')
plt.show()
我认为代码是如此的直接和自解释,我不需要在它上面浪费我的话。只要复制粘贴并运行它,你就会得到你想要的。在
{1美元^