首页 > 解决方案 > Matplotlib如何在两个Y点之间绘制垂直线

问题描述

每个 x 点我有 2 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 点对的细线?期望的输出是:

期望的输出

标签: pythonmatplotlibplotscatter-plot

解决方案


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

在此处输入图像描述


推荐阅读