Невозможно получить желаемый результат в окне Tkinter для линейного графика - PullRequest
0 голосов
/ 02 августа 2020

Я новичок в кодировании, и я пытаюсь создать окно Tkinter, используя классы Matplotlib, которые позволяют мне манипулировать линейным графиком, отображающим цены акций для 4 компаний за два года в отдельном окне, это код, который я написано:

from tkinter import *

from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg,NavigationToolbar2Tk)

from matplotlib.backend_bases import key_press_handler

from matplotlib.figure import Figure

import pandas as pd
root = Tk ()

data = pd.read_csv('C:\\Users\\Admin\\Desktop\\shares.csv')
df = data.iloc[:,:5]
print(df)
print()

fig = Figure( figsize = (20,5) , dpi = 100 )

ax1 = fig.add_subplot()

df.plot('Date',figsize = (20,5),  ax = ax1)

canvas = FigureCanvasTkAgg ( fig , root )

canvas.draw()

canvas.get_tk_widget().pack(side = TOP, fill = BOTH, expand = 1)

df.plot(kind = 'bar' , ax = ax1)

toolbar = NavigationToolbar2Tk(canvas, root)

toolbar.update()

canvas.get_tk_widget().pack(side = TOP, fill = BOTH, expand = 1)

def on_key(event):
    print('You Pressed {}'.format(event.key))
    key_press_handler(event, canvas, toolbar)
    
canvas.mpl_connect('key_press_event' , on_key)  
  
def Quit():
    root.quit()
    root.destroy()
    return

button = Button(root, text = 'QUIT' , command = Quit )

button.pack ()
root.mainloop()

Вот результат, который я получил:

enter image description here

Whereas this is the desired graph:

введите описание изображения здесь

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

Спасибо :)

1 Ответ

0 голосов
/ 02 августа 2020

Попробуйте, это может сработать

df.plot(kind = 'line' , ax = ax1)

Вы строите bar, и ваш ожидаемый результат - line график

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...