2016-07-07 3 views
1

У меня возникли проблемы с созданием графика рассеяния, имеющего массив дат и кучу значений PM 2.5. Мои списки будут выглядеть следующим образом:Сделайте график рассеяния в matplotlib с датами по оси x и значениям по y

dates = ['2015-12-20','2015-09-12'] 
PM_25 = [80, 55] 
+0

plt.scatter (даты, PM_25)? – RSHAP

+0

Если это не работает, то что сообщение об ошибке? Возможно, вам придется конвертировать даты на время. Если у вас есть панды, вы можете сделать [pd.to_datetime (d) для d в датах] – RSHAP

+0

Я получаю эту ошибку: ValueError: invalid literal for float(): 2010-01-01 – Ravmcgav

ответ

3
import pandas as pd 
dates = ['2015-12-20','2015-09-12'] 
PM_25 = [80, 55] 
dates = [pd.to_datetime(d) for d in dates] 

plt.scatter(dates, PM_25, s =100, c = 'red') 

s устанавливает размер c устанавливают цвету

Есть целая куча других аргументов, а также: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

+0

Это замечательно! Могу ли я затем сделать это более конкретным, давая месяцы или даже сезонные ярлыки на каждый год? – Ravmcgav

+0

Что значит? они должны иметь метки даты уже? – RSHAP

+5

Когда я пытаюсь сделать диаграмму рассеяния с 'datetime' в оси' x', я получаю 'TypeError: недействительный тип продвижения'. Ваше решение не работает. – dwanderson

Смежные вопросы