Matplotlib如何在两个Y点之间绘制垂直线

2022-05-24 00:00:00 python matplotlib scatter-plot plot

问题描述

每个x点有两个y点。我可以用以下代码绘制该图:

import matplotlib.pyplot as plt

x = [0, 2, 4, 6]
y = [(1, 5), (1, 3), (2, 4), (2, 7)]


plt.plot(x, [i for (i,j) in y], 'rs', markersize = 4)
plt.plot(x, [j for (i,j) in y], 'bo', markersize = 4)

plt.xlim(xmin=-3, xmax=10)
plt.ylim(ymin=-1, ymax=10)

plt.xlabel('ID')
plt.ylabel('Class')
plt.show()

这是输出:

如何绘制一条连接每个y点对的细线?所需输出为:


解决方案

只需添加 plt.plot((x,x),([i for (i,j) in y], [j for (i,j) in y]),c='black')

相关文章