Как построить график, когда два данных (дата и X1) добавляются в один список с использованием Python - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть набор данных с датой, временем и одним входным столбцом.Здесь я написал код для значения входного столбца 7, уменьшив его за один час на один (дата, значение). Затем я поместил эти данные в один список.После этого я хочу построить график в соответствии со значением и датой списка.Но я не могу построить график, и он ничего не отображает.Может ли кто-нибудь помочь мне решить эту проблему?

>>> x=[]
>>> some code is running here to decrease the value of 7
>>> x.append({'date':next_record_time, 'X1':new_X1})

>>> print(x)
[{'date': Timestamp('2018-06-08 09:30:00'), 'X1': 7},
 {'date': Timestamp('2018-06-08 10:30:00'), 'X1': 6.5},
 {'date': Timestamp('2018-06-08 11:30:00'), 'X1': 6},
 {'date': Timestamp('2018-06-08 12:30:00'), 'X1': 5.5},
 {'date': Timestamp('2018-06-08 13:30:00'), 'X1': 5}]

, если мы разделим ее:

>>> for i in x:
>>>    print(i['date'], "\t\t", i['X1'])
2018-06-08 09:30:00          7
2018-06-08 10:30:00          6.5
2018-06-08 11:30:00          6
2018-06-08 12:30:00          5.5
2018-06-08 13:30:00          5
2018-06-08 14:30:00          4.5
2018-06-08 15:30:00          4

Затем я хочу построить график, используя это значение X1 и дату.Затем я написал код и отобразил его без графика:

plt.plot(['date'], ['X1'])
plt.show()

graph: enter image description here

после добавления i в сюжет:

plt.plot(i['date'], i['X1'])
plt.show()

получил вывод:

enter image description here

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Вы можете сделать:

pd.DataFrame(x).plot(x='date', y='X1')

Выход:

enter image description here

0 голосов
/ 27 сентября 2019

Вместо того, чтобы создавать список словарей, вам, вероятно, лучше создать словарь с двумя списками:

>>> my_data = {'dates': [], 'X1': []}
>>> some code is running here to decrease the value of 7
>>> my_data['dates'].append(next_record_time)
>>> my_data['X1'].append(new_X1)

>>> print(my_data)
{'dates': [Timestamp('2018-06-08 09:30:00'),
           Timestamp('2018-06-08 10:30:00'),
           Timestamp('2018-06-08 11:30:00'),
           Timestamp('2018-06-08 12:30:00'),
           Timestamp('2018-06-08 13:30:00'),
           Timestamp('2018-06-08 14:30:00'),
           Timestamp('2018-06-08 15:30:00')],
 'X1': [7, 6.5, 6, 5.5, 5, 4.5, 4]}

Тогда вы можете сделать свой график так, как вы ожидали:

plt.plot(my_data['dates'], my_data['X1'])
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...