如何在 tkinter 中显示 mplfinance 图表

How to display a mplfinance chart in tkinter

当我执行这段代码时,我有 2 个帧。有什么方法可以在一个根框架中显示吗?

import pandas as pd
import mplfinance as mpf
from tkinter import *
root = Tk()
root.title("candle")
root.geometry('600x550')

def candle():

    file  = 'BTC-USD.csv'

    data = pd.read_csv(file)

    print(data.info())
    data.Date = pd.to_datetime(data.Date)
    data = data.set_index('Date')
    print(data)
    mpf.plot(data, type='candle', mav=(20),volume=True, style='yahoo')

button = Button(root, text="grapg", comand=candle())
button.pack()

root.mainloop()

下面是我上面代码的输出:

我见过最常用的方法是先在 tkinter 之外用 kwarg returnfig=True 调用 mpf.plot()。然后使用 mpf.plot() 返回的数字来创建你的 tkinter canvas,像这样:

fig, axlist = mpf.plot(data,type='candle',mav=(20),volume=True, 
                       style='yahoo',returnfig=True)
canvas = FigureCanvasTkAgg(fig)

另见