2010-10-02 2 views
20

У меня есть эта красивая сфера, которую я сделал в matplotlib. Как я могу поместить его в виджет кадра tkinter? Было бы неплохо интегрировать его в существующий графический интерфейс tkinter. Также возможно избавиться от строки меню под дисплеем? Мне не нужно сохранять вывод или масштабирование, поэтому для меня это бесполезно.Запуск matplotlib в 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() 

ответ

20

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

user_interfaces example code: embedding_in_tk.py

user_interfaces example code: embedding_in_tk2.py

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

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