Matplotlib查询:将最大值连接到相应的Y点

时间:2018-10-18 18:54:22

标签: python-3.x matplotlib

enter image description here

我已为当前正在研究的项目完成了以上绘制。我对matplotlib还是比较陌生,想问问是否有任何方法可以将每条线的最大点沿着这样的线连接到y轴(除了直线和做得不好的:)): enter image description here

2 个答案:

答案 0 :(得分:1)

示例解决了此处评论中提到的hlines的前台问题。

将所讨论的变体可视化:

enter image description here

使用以下代码创建:

data = [.82, .72, .6, .5, .45]
col = ['k', 'b', 'm', 'g', 'r']

fig, axs = plt.subplots(1, 3, figsize=(12, 4))

axs[0].set_title('Problem: hlines in foreround')
for d, c in zip(data, col):
    axs[0].plot([0, d], c, lw=10)
for d in data:
    axs[0].axhline(d, lw=5)

axs[1].set_title('Solution 1: zorder=0 for hlines')
for d, c in zip(data, col):
    axs[1].plot([0, d], c, lw=10)
for d in data:
    axs[1].axhline(d, lw=5, zorder=0)

axs[2].set_title('Solution 2: plot hlines first')
for d in data:
    axs[2].axhline(d, lw=5)
for d, c in zip(data, col):
    axs[2].plot([0, d], c, lw=10)

plt.tight_layout()

答案 1 :(得分:0)

所以我发现以下代码允许我绘制这些线:

plt.axhline(y=0.8462, color='r', linestyle='--')

哪个会产生:

enter image description here

我可以对y的其他最大值重复此操作。