2010-10-02 25 views
20

Tengo esta hermosa esfera que hice en matplotlib. ¿Cómo voy a ponerlo en un widget de marco tkinter? Sería bueno poder integrarlo en una GUI de tkinter existente. ¿También es posible eliminar la barra de menú debajo de la pantalla? No necesito guardar la salida o el zoom, así que no sirve para nada.Ejecutando matplotlib en 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() 

Respuesta

20

Tener un vistazo a los ejemplos para incrustar parcelas en una interfaz gráfica de usuario tk, que debería ser suficiente para que pueda empezar en la dirección correcta.

user_interfaces example code: embedding_in_tk.py

user_interfaces example code: embedding_in_tk2.py

En cuanto a la eliminación de la barra de herramientas, que es un caso de no añadir que cuando se está incrustando parcelas en una interfaz gráfica de usuario.

Si está utilizando la barra de herramientas matplotlib.pyplot se creará automáticamente para cada figura. Si está escribiendo su propio código de interfaz de usuario, puede agregar la barra de herramientas como un widget.