Matplotlib соединяет точки рассеяния с линией-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")
, что дает мне диаграмму рассеяния точек, наложенную на линию, соединяющую точки.
как это сделать в python?
3 ответа:
Я думаю, что @Evert имеет правильный ответ:
plt.scatter(dates,values) plt.plot(dates, values) plt.show()
что в значительной степени совпадает с
plt.plot(dates, values, '-o') plt.show()
или как там linestyle вы предпочитаете.
для красных линий точки
plt.plot(dates, values, '.r-')
или для X маркеров и синих линий
plt.plot(dates, values, 'xb-')
в дополнение к тому, что указано в других ответах, ключевое слово "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)
строит линию над символами разброса.
см., например,демо-Z-последовательности