在直方图中插入水平线

Wya*_*xer 5 python matplotlib

我将如何向该直方图添加一条水平线?我已经尝试了常用的方法(适用于条形图),但是由于 y 轴以百分比形式表示(我假设),因此无法绘制线条。我试图绘制一条从 11 小时(x 线)到 22 小时(x 线)之间的线,以描绘实验条件的变化。有人知道该怎么办吗?谢谢!

probability_list = np.array(probability_list, dtype=float)
x = 24
f, ax = plt.subplots(1, 1, figsize=(10, 5))
heights, bins = np.histogram(probability_list, bins=len(list(set(probability_list))))
percent = [i / len(dayammount) * 100 for i in heights]
ax.bar(bins[:-1], percent, width=.025, align="edge")
vals = ax.get_yticks()
ax.set_yticklabels(['%1.2f%%' % i for i in vals])
plt.xlim(xmin=0, xmax=24)
plt.xticks(range(0, 25))
plt.xlabel('Time (Hours)')
plt.ylabel('Probability of Sound (%)')
plt.show()
Run Code Online (Sandbox Code Playgroud)

tdy*_*tdy 4

然而,由于 y 轴以百分比表示(我假设),因此该线不会绘制

heights一般来说,您转换为-- matplotlib并不重要,它percents只会看到一个值列表。

目前尚不清楚您到目前为止尝试过什么,但这里有几个选项:

我没有你的原始数据,但这是一些模拟数据的输出:

带 hlines 的直方图