Matplotlib用线 - Python连接散点图

brn*_*792 87 python matplotlib

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

import matplotlib.pyplot as plt

plt.scatter(dates,values)
plt.show()
Run Code Online (Sandbox Code Playgroud)

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

但我真正想要的是散点图,其中点通过线连接.

与R类似:

plot(dates, values)
lines(dates, value, type="l")
Run Code Online (Sandbox Code Playgroud)

,这给了我一个点的散点图,上面有一条连接点的线.

我怎么在python中这样做?

Han*_*rén 122

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

plt.scatter(dates,values)
plt.plot(dates, values)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这几乎是一样的

plt.plot(dates, values, '-o')
plt.show()
Run Code Online (Sandbox Code Playgroud)

或者你喜欢的任何线型.

  • 'linestyle'是我通过(gynormous)matplotlib文档路径的好关键字搜索线索. (3认同)
  • @aaronsnoswell根据我的第一个例子,大小和颜色只对点有意义,你仍然可以通过`scatter`绘制.问题并没有说明不同的线条厚度或颜色,所以我认为你的批评有点不公平,真的. (2认同)

Ste*_*nes 27

对于红线一点

plt.plot(dates, values, '.r-') 
Run Code Online (Sandbox Code Playgroud)

或用于x标记和蓝线

plt.plot(dates, values, 'xb-')
Run Code Online (Sandbox Code Playgroud)


Use*_* Me 11

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

plt.plot(x,y,zorder=1) 
plt.scatter(x,y,zorder=2)
Run Code Online (Sandbox Code Playgroud)

绘制线条顶部的散点符号

plt.plot(x,y,zorder=2)
plt.scatter(x,y,zorder=1)
Run Code Online (Sandbox Code Playgroud)

在散点符号上绘制线条.

参见,例如,zorder演示