Мне нужна помощь в создании графа на python с помощью matplotlib.Данные должны быть прочитаны из JSON - PullRequest
0 голосов
/ 15 июня 2019

У меня есть файл JSON, подобный этому:

{"rpm": [
{"Clock": "09:55:44", "Value": 767.0}, 
{"Clock": "09:55:45", "Value": 759.0}, 
{"Clock": "09:55:47", "Value": 2302.0}, 
{"Clock": "09:55:48", "Value": 1973.0}, 
{"Clock": "09:55:49", "Value": 2199.0}, 
{"Clock": "09:55:51", "Value": 1040.0}, 
{"Clock": "09:55:52", "Value": 757.0}, 
{"Clock": "09:55:53", "Value": 737.0},
......
]}

Я должен отобразить на странице tkinter график с этими данными.Ось х для «Часы».Ось у для «Значение».

Я пытался с:

with open('rpm.json') as ff:
    data = json.load(ff)

dates = [i['Clock'] for i in data['rpm']]
values = [i['Value'] for i in data['rpm']]

df = pd.DataFrame({'dates': dates, 'values': values})
df['dates'] = [pd.to_datetime(i) for i in df['dates']]

print(df.sort_values(by='dates'))

figura1=plt.Figure(figsize=(6,5),dpi=100)
ax1=figura1.add_subplot(111)
bar1=FigureCanvasTkAgg(figura1,self)
bar1.get_tk_widget().pack(side=tk.LEFT,fill=tk.BOTH)
df.plot(kind='bar',legend=True,ax=ax1)
ax1.set_title('TITLE')

Но это дает мне ошибки.

Можете ли вы помочь мне?

1 Ответ

0 голосов
/ 15 июня 2019

Заменить часть кода, начиная с figura1, следующим:

root = tk.Tk()
fig, ax = plt.subplots()
bar=FigureCanvasTkAgg(fig, master=root)
bar.get_tk_widget().pack(side=tk.LEFT,fill=tk.BOTH)
df.plot(kind='bar', x='dates', y='values', ax=ax, legend=True)
ax.set_title('TITLE')
tk.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...