Matplotlib用线 - Python连接散点图

时间:2013-11-21 19:31:39

标签: python matplotlib

我有两个列表,日期和值。我想用matplotlib绘制它们。以下内容创建了我的数据的散点图。

import matplotlib.pyplot as plt

plt.scatter(dates,values)
plt.show()

plt.plot(dates, values)创建折线图。

但我真正想要的是散点图,其中点由一条线连接。

与R:

类似
plot(dates, values)
lines(dates, value, type="l")

,它给出了一个点的散点图,上面有一条连接点的线。

我如何在python中执行此操作?

4 个答案:

答案 0 :(得分:104)

我认为@Evert有正确的答案:

plt.scatter(dates,values)
plt.plot(dates, values)
plt.show()

几乎相同
plt.plot(dates, values, '-o')
plt.show()

或者您喜欢的 linestyle

答案 1 :(得分:22)

红线一点

plt.plot(dates, values, '.r-') 

或x标记和蓝线

plt.plot(dates, values, 'xb-')

答案 2 :(得分:11)

除了其他答案中提供的内容外,关键字" zorder"允许人们决定垂直绘制不同对象的顺序。 E.g:

plt.plot(x,y,zorder=1) 
plt.scatter(x,y,zorder=2)

在行顶部绘制散点符号,而

plt.plot(x,y,zorder=2)
plt.scatter(x,y,zorder=1)

在散点符号上绘制线条。

请参阅,例如zorder demo

答案 3 :(得分:1)

他们的关键字参数是 marker,您可以使用 markersize 设置标记的大小。要生成顶部带有散点符号的线:

plt.plot(x, y, marker = '.', markersize = 10)

要绘制填充点,您可以使用标记 '.''o'(小写字母 oh)。有关所有标记的列表,请参阅:
https://matplotlib.org/stable/api/markers_api.html