在 tkinter 中运行 matplotlib

发布于 2024-09-25 23:50:09 字数 695 浏览 3 评论 0原文

我有一个用 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()

I have this beautiful sphere I made in matplotlib. How would I go about putting it in a tkinter frame widget? It'd be nice to be able to integrate it into an existing tkinter GUI. Also is it possible to rid of the menu bar below the display? I have no need to save the output or zoom, so it's useless to me.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

软糖 2024-10-02 23:50:09

看一下在 tk GUI 中嵌入绘图的示例,它应该足以让您朝着正确的方向开始。

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

user_interfaces 示例代码:embedding_in_tk2.py

至于删除工具栏,是在 GUI 中嵌入绘图时不添加它的情况。

如果您使用的是 matplotlib.pyplot
工具栏将自动创建
对于每个数字。如果你正在写
您自己的用户界面代码,您可以
将工具栏添加为小部件。

Have a look at the examples for embedding plots in a tk GUI, it should be enough to get you started in the right direction.

user_interfaces example code: embedding_in_tk.py

user_interfaces example code: embedding_in_tk2.py

As for removing the toolbar, it's a case of not adding it when you are embedding plots in a GUI.

If you are using matplotlib.pyplot the
toolbar will be created automatically
for every figure. If you are writing
your own user interface code, you can
add the toolbar as a widget.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文