我有两个列表,日期和值。我想用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中执行此操作?
答案 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