我参考了以下有用的教程视频:https://www.youtube.com/watch?v=8exB6Ly3nx0我使用了他的密码(见6:28);然而,该图是在单元格下而不是在独立窗口下绘制的。如何克服这一点?谢谢!
pkbketx91#
这里有一个解决方案,可以满足您的需求。Jupyter-notebook默认情况下不使用tk后端进行绘图,因此您必须显式指示matplotlib使用它。这可以如下所示完成,或者使用笔记本魔术%matplotlib,如@acw1668在评论中所述。我个人认为这不实用,还有其他解决方案可以在笔记本中使用交互式绘图,例如。jupyter-lab widgets,我更愿意推荐给你。
%matplotlib
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()
m1m5dgzv2#
在第一行使用%matplotlib tk在tkinter管理的独立窗口中渲染图形。
2条答案
按热度按时间pkbketx91#
这里有一个解决方案,可以满足您的需求。Jupyter-notebook默认情况下不使用tk后端进行绘图,因此您必须显式指示matplotlib使用它。
这可以如下所示完成,或者使用笔记本魔术
%matplotlib
,如@acw1668在评论中所述。我个人认为这不实用,还有其他解决方案可以在笔记本中使用交互式绘图,例如。jupyter-lab widgets,我更愿意推荐给你。
m1m5dgzv2#
在第一行使用%matplotlib tk在tkinter管理的独立窗口中渲染图形。