Подтвердить что ты не робот

Запуск matplotlib в tkinter

У меня есть эта красивая сфера, которую я сделал в 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()
4b9b3361

Ответ 1

Посмотрите примеры для встраивания графиков в графический интерфейс tk, этого должно быть достаточно, чтобы вы начали в правильном направлении.

код примера user_interfaces: embedding_in_tk.py

код примера user_interfaces: embedding_in_tk2.py

Что касается удаления панели инструментов, это случай не добавления ее при встраивании графиков в графический интерфейс.

Если вы используете matplotlib.pyplot, панель инструментов будет создана автоматически для каждой фигуры. Если вы пишете ваш собственный код пользовательского интерфейса, вы можете добавьте панель инструментов в качестве виджета.