Matplotlib 用 line-Python 连接散点图点

我有两个列表,日期和值。我想用 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")

,这给我一个散点图点覆盖一条线连接的点。

我怎么在巨蟒中做到这一点?

424294 次浏览

对于红线和点

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

或者 x 标记和蓝线

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

我认为“埃弗特的回答是正确的:

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

这和

plt.plot(dates, values, '-o')
plt.show()

您可以按照 文件中的描述,用另一个合适的 格式化字符串替换 -o。 还可以使用 linestyle=marker=关键字参数分割线条和标记样式的选择。

除了其他答案中提供的内容之外,关键字“ zorder”允许用户决定垂直绘制不同对象的顺序。 例如:

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 演示

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

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

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