Matplotlib:从x轴画线到点

15
我有一堆点要使用matplotlib绘制。对于每个点(a,b),我想在Y [0,b]上绘制线X = a。有什么办法可以实现吗? ```

我有一堆点要使用matplotlib绘制。对于每个点(a,b),我想在Y [0,b]上绘制线X = a。有什么办法可以实现吗?

```
2个回答

19

使用 stem 图绘制

最简单的解决方案是使用matplotlib.pyplot.stem函数。

import matplotlib.pyplot as plt
x = [1. , 2., 3.5]
y = [2.3, 4., 6.]
plt.xlim(0,4)
plt.stem(x,y)
plt.show()

在此输入图片描述


找了好久,谢谢 :) - Matze

16

你只需要使用两个端点来绘制每条线。 对于Y在[0,b]中的垂直线X = a,其端点为(x,y)=(a,0)和(a,b)。 因此:

# make up some sample (a,b): format might be different to yours but you get the point.
import matplotlib.pyplot as plt
points = [ (1.,2.3), (2.,4.), (3.5,6.) ] # (a1,b1), (a2,b2), ...

plt.hold(True)
plt.xlim(0,4)  # set up the plot limits

for pt in points:
    # plot (x,y) pairs.
    # vertical line: 2 x,y pairs: (a,0) and (a,b)
    plt.plot( [pt[0],pt[0]], [0,pt[1]] )

plt.show()

会得到类似以下的结果: 画垂直线


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,