在python

时间:2016-07-03 18:10:07

标签: python matplotlib plot

我想绘制从数据集的每个点到零轴的垂直线。目前情节看起来像这样:

values = [0.0, 0.2, 0.0,  0.4, 1.4, 0.5]
times = [1, 4, 10, 12, 14, 20]
plt.plot(values,times,'o')
plt.show()

如何绘制垂直线?我在文档中找到了 axvline ,然而它在整个图表中都有垂直线,我不想要它:

xcoords = [0.22058956, 0.33088437, 2.20589566]
for xc in xcoords:
    plt.axvline(x=xc)

3 个答案:

答案 0 :(得分:3)

您可以使用c1 = [x1, y1]c2 = [x2, y2]plt.plot(c1, c2)绘制任意一行。所以要绘制这些线条你可以做到

xcoords = [0.22058956, 0.33088437, 2.20589566]
for xc in xcoords:
    plt.plot([xc, 0], [xc, Y-VALUE])

答案 1 :(得分:3)

使用public class MyClass { private final ObservableInt myField; private final int data; public MyClass(int data) { myField = new ObservableInt(); myField.addOnChangedListener(myListener); this.data = data; } public MyClass(Bundle bundle) { this(bundle.getInt("SomeName")); } }

最简单的解决方案使用matplotlib.pyplot.stem

stem

enter image description here

答案 2 :(得分:2)

for i in range(len(times)): plt.axvline(values[i], ymax=float(times[i]) / max(times), color='b') 有一个参数SELECT DISTINCT * FROM post f1 INNER JOIN portfolio f2 ON f1.username = f2.username WHERE f1.username IN ('user1' , 'user2') OR f2.username IN ('user1' , 'user2'); 可调整yrange的百分比,直到哪个vline应该持续。如果y轴,解决方案可能是这样的:

main()