【发布时间】:2019-09-04 22:37:06
【问题描述】:
我正在尝试在 Tkinter 中使用 Seaborn 进行绘图。到目前为止,我的方法是不同的变体,我无法让它发挥作用。
我尝试了 matplotlib.use("Agg"),它在页面上的正常 Matplotlib 图形中运行良好,但似乎不适用于 Seaborn 图形
matplotlib.use("TkAgg") # 'Agg' doesnt work either
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import seaborn as sns
import tkinter as tk
def graphspage():
pf = tk.Tk()
pf.geometry("1000x800")
### Works
f = Figure(figsize=(5, 5), dpi=100)
a = f.add_subplot(111)
a.plot(df['date'],daily_drawdown, 'b-',df['date'], daily_drawdownbm, 'k-', linewidth=1)
f.tight_layout()
canvas = FigureCanvasTkAgg(f,pf)
canvas.get_tk_widget().grid(row=1,column=1)
### Doesnt Work
pct = diststats()[4]
pctbm = diststats()[5]
f = Figure(figsize=(5, 5), dpi=100)
a = f.add_subplot(111)
a.sns.distplot(pct,label = 'Portfolio')
a.sns.distplot(pctbm,axlabel='Distribution of returns',label='Benchmark')
canvas = FigureCanvasTkAgg(f,pf)
canvas.get_tk_widget().grid(row=2,column=1)
graphspage()
【问题讨论】:
-
你有没有看到任何在 tkinter 中使用 Seaborn 的例子?
-
而不是
a.sns.distplot(pct,label = 'Portfolio'),它必须是sns.distplot(pct,label = 'Portfolio', ax=a) -
创建我们可以运行的代码。现在有一些
df和diststats()所以我们不能运行它。
标签: python matplotlib tkinter seaborn sis