1

我是 matplotlib 的新手,我正在尝试学习如何在条形图中对两条水平线之间的区域进行着色,我想知道如何使它到达边缘。这是一个例子:

import numpy as np
import matplotlib.pyplot as plt

N = 8
A = np.random.random(N)
B = np.random.random(N)
X = np.arange(N)

plt.bar(X, A, color = 'b')
plt.fill_between(X,0.4,0.6, facecolor = 'thistle', zorder = 2, alpha = 0.5)
plt.show()

这表明了这一点: 图像

4

1 回答 1

0

不确定这是否是“正确”的方法,但有一个选择:

width=0.8
plt.bar(X, A, color = 'b', width=width)

X = X.astype(float)
X[0] -= width/2
X[-1] += width/2

plt.fill_between(X,0.4,0.6, facecolor = 'thistle', zorder = 2, alpha = 0.5)

输出:

在此处输入图像描述

于 2020-11-16T21:29:30.453 回答