在tkinter中运行matplotlib

24 投票
1 回答
47973 浏览
提问于 2025-04-16 04:53

我在matplotlib里做了一个漂亮的球体。请问我该怎么把它放到一个tkinter的框架小部件里呢?如果能把它整合进一个已有的tkinter图形界面就太好了。另外,能不能去掉显示下面的菜单栏?我不需要保存输出或缩放功能,所以这些对我来说没用。

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()

1 个回答

22

看看这些关于在tk界面中嵌入图表的例子,这些应该能帮你找到正确的方向,开始你的学习之旅。

用户界面示例代码:embedding_in_tk.py

用户界面示例代码:embedding_in_tk2.py

至于如何去掉工具栏,其实就是在嵌入图表时不添加它。

如果你使用的是matplotlib.pyplot,那么每个图形都会自动生成一个工具栏。如果你自己在写用户界面的代码,可以把工具栏作为一个小部件添加进去。

撰写回答