(Python)使用Tkinter在独立窗口中显示绘图(Jupyter notebook)

3ks5zfa0  于 2023-05-16  发布在  Python
关注(0)|答案(2)|浏览(372)

我参考了以下有用的教程视频:
https://www.youtube.com/watch?v=8exB6Ly3nx0
我使用了他的密码(见6:28);然而,该图是在单元格下而不是在独立窗口下绘制的。
如何克服这一点?谢谢!

pkbketx9

pkbketx91#

这里有一个解决方案,可以满足您的需求。Jupyter-notebook默认情况下不使用tk后端进行绘图,因此您必须显式指示matplotlib使用它。
这可以如下所示完成,或者使用笔记本魔术%matplotlib,如@acw1668在评论中所述。
我个人认为这不实用,还有其他解决方案可以在笔记本中使用交互式绘图,例如。jupyter-lab widgets,我更愿意推荐给你。

from tkinter import *
from PIL import ImageTk, Image
import numpy as np

import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('TkAgg')

root = Tk()
root.title("dsafsdff")
root.geometry("400x200")

def graph():
    f, a = plt.subplots(1, 1)
    house_prices = np.random.normal(0., 1, 1000)
    a.hist(house_prices)
    plt.show()

my_button = Button(root, text="afdgfsdgf", command=graph)
my_button.pack()
root.mainloop()
m1m5dgzv

m1m5dgzv2#

在第一行使用%matplotlib tk在tkinter管理的独立窗口中渲染图形。

相关问题