Запуск 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()
Ответы
Ответ 1
Посмотрите примеры для встраивания графиков в графический интерфейс tk, этого должно быть достаточно, чтобы вы начали в правильном направлении.
код примера user_interfaces: embedding_in_tk.py
код примера user_interfaces: embedding_in_tk2.py
Что касается удаления панели инструментов, это случай не добавления ее при встраивании графиков в графический интерфейс.
Если вы используете matplotlib.pyplot, панель инструментов будет создана автоматически для каждой фигуры. Если вы пишете ваш собственный код пользовательского интерфейса, вы можете добавьте панель инструментов в качестве виджета.