在tkinter中运行matplotlib

rec*_*gle 23 python tkinter matplotlib

我有这个美丽的球体,我在matplotlib.我如何将它放入tkinter框架小部件?能够将它集成到现有的tkinter GUI中会很高兴.还可以摆脱显示屏下方的菜单栏吗?我没有必要保存输出或缩放,所以对我来说没用.

from mpl_toolkits.mplot3d import  axes3d,Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np

fig = plt.figure()
ax = Axes3D(fig) #<-- Note the difference from your original code..

u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)

x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))

ax.plot_surface(x, y, z,  rstride=4, cstride=4, color='lightgreen',linewidth=0)
#,antialiased=False
#cmap=cm.jet
plt.show()
Run Code Online (Sandbox Code Playgroud)

vol*_*ing 22

看看在tk GUI中嵌入图的示例,它应该足以让您开始正确的方向.

user_interfaces示例代码:embedding_in_tk.py

user_interfaces示例代码:embedding_in_tk2.py

至于删除工具栏,在GUI中嵌入绘图时不会添加它.

如果您使用的是matplotlib.pyplot,则会自动为每个图形创建工具栏.如果您正在编写自己的用户界面代码,则可以将工具栏添加为窗口小部件.