Gráficas en Sage

Las expresiones simbólicas son fáciles de representar gráficamente. Las gráficas bidimensionales  de expresiones simbólicas se obtienen con plot:

sage: plot(exp(x/3), -1, 1)

Otras gráficas u objetos pueden añadirse a la visualización sumando los comandos:

sage: plot(sqrt(x), 0, 2, fill=True, axes_labels=['$x$','$y$']) + \
....: text('$\int_0^2\sqrt{x}\,dx$', (0.5, 1.1), fontsize=20, \
....: title='$y=\sqrt{x}$')

Sage puede representar funciones en coordenadas polares:

sage: var('theta')
sage: polar_plot(2*sqrt(abs(sin(2*theta))), (theta, -pi, pi))

tmp_5PVeMC

Se pueden representar curvas dadas en forma implícita:

sage: g(x,y)=x^4+y^4-16
sage: implicit_plot(g, (x,-3,3), (y,-4,4))

tmp_C56iSW
También es posible representar curvas paramétricas con parametric_plot:

sage: var('t')
sage: parametric_plot((exp(-t)*cos(t),exp(-t)*sin(t)), (t,0,6*pi))

tmp_5zxlu2Sage puede crear gráficos bastante elaborados; por ejemplo:

sage: c = ['blue','green','red','cyan','magenta','yellow','black']
sage: g = sum(plot(exp(x/k), -1, 1, color=c[k-1], \
....: legend_label="y=exp(x/"+str(k)+")") for k in (1..7))
sage: show(g)

elaborated
El atributo aspect_ratio=1 de show muestra los ejes con la misma proporción.

Para guardar una gráfica en un fichero, se usa el comando save:

sage: g.save('filename.png')

El comando plot tiene muchas más opciones, que se pueden consultar con plot?. Por ejemplo, para pintar un marco exterior y una cuadrícula de referencia se puede usar el siguiente comando:

sage: plot(x^3-x, -2, 2, gridlines='minor', frame=True)

frameRepresentaciones tridimensionales

Las gráficas tridimensionales de funciones de dos variables requieren el uso de plot3d:

sage: var('y') 
sage: plot3d(x^2+y^2,(x,-1,1),(y,-1,1))

sage-plot3d
La opción adaptive=True usa refinamiento adaptativo y colorea la gráfica según la altura.

sage: var('t,u,v,x,y,z')
sage: contour_plot(y^2+1-x^3-x,(x,-3,3),(y,-3,3), \
contours=8, labels=True, cmap='jet')

contourUna superficie dada en forma implícita, x²+y²+z²-4=0:

sage: implicit_plot3d(x^2+y^2+z^2-4,(x,-2,2),(y,-2,2),(z,-2,2))

sphereUna superficie parametrizada, S(u,v) = (uv, u, v²):

sage: parametric_plot3d([u*v,u,v^2],(u,-1,1),(v,-1,1))

implicitUna curva parametrizada, c(t) = (cos(t),sin(t),t):

sage: parametric_plot3d([cos(t),sin(t),t],(t,0,4*pi))

curvaPara ver las paletas de colores disponibles para la opción cmap puede escribirse:

sage: import matplotlib.cm; matplotlib.cm.datad.keys()

Gráficas para arrays de datos

Si los datos vienen dados en arrays numéricos, es posible representarlos como lineas con  line y/0 marcar los puntos.  El comando zip permite crear listas de puntos a partir de los arrays de abscisas y ordenadas:

sage: x = [0,0.5..10]
sage: y = [x[i]**2 for i in range(len(x))]
sage: line(zip(x,y))                            # muestra la linea
sage: line(zip(x,y), marker='o', linestyle=" ") # muestra los puntos

Los arrays x e y pueden ser listas, vectores o cualquier otro objeto de Sage que pueda ser iterado.

Advertisements
Esta entrada foi publicada en Sage. Ligazón permanente.

2 Responses to Gráficas en Sage

  1. Pingback: Expresiones simbólicas en Sage | fundmat

  2. Pingback: Expresiones simbólicas en Sage | sageformaths

Deixar unha resposta

introduce os teu datos ou preme nunha das iconas:

Logotipo de WordPress.com

Estás a comentar desde a túa conta de WordPress.com. Sair / Cambiar )

Twitter picture

Estás a comentar desde a túa conta de Twitter. Sair / Cambiar )

Facebook photo

Estás a comentar desde a túa conta de Facebook. Sair / Cambiar )

Google+ photo

Estás a comentar desde a túa conta de Google+. Sair / Cambiar )

Conectando a %s