matplotlib中条形图中的填充之间()

2024-10-02 14:16:22 发布

您现在位置:Python中文网/ 问答频道 /正文

import matplotlib.pyplot as plt

# define corner points
x=['a','b','c','d','e']
y=[12,10,5,1,4]
plt.bar(x,y,color='lightgray')
plt.fill_between(x,3,alpha=0.3,color='r')

enter image description here

我想用图中所示的fill_between()填充空白


Tags: importalphamatplotlibasbarpltbetweenfill
1条回答
网友
1楼 · 发布于 2024-10-02 14:16:22

您可以使用axhspan在整个打印宽度上设置一个水平条。用zorder把它关起来

import matplotlib.pyplot as plt

x = ['a', 'b', 'c', 'd', 'e']
y = [12, 10, 5, 1, 4]
plt.bar(x, y, color='lightgray')
plt.axhspan(0, 3, alpha=0.3, color='r', zorder=0)
plt.show()

example plot

PS:请注意,post中对fill_between的调用不会填充条之间。它将x值转换为数字(对于分类轴为0, 1, 2, ...),并使用默认的y2=0。因此,内部等于:

plt.fill_between(x=[0, 1, 2, 3, 4], y1=3, y2=0, ...)

相关问题 更多 >

    热门问题