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()Или как вам больше нравитсялинейный стиль .
Для красных линий и точек
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)Строит линию над символами разброса.
Смотрите, например, демонстрацию zorder
Comments