ExportPlot (archivo,tipo)
ExportPlot (archivo)
Exportar el contenido de la ventana de dibujado a un archivo. El tipo es una cadena que especifica el tipo de archivo que usar, «png», «eps» o «ps». Si no se especifica el tipo, se toma a partir de la extensión, en cuyo caso debe ser«.png», «.eps» o «.ps».
Tenga en cuneta que los archivos se sobreescriben sin preguntar.
Al exportar correctamente, se devuelve. Si falla algo, se muestra un error y se eleva una excepción.
Ejemplos:
genius>
ExportPlot("archivo.png")
genius>
ExportPlot("/carpeta/archivo","eps")
Desde la versión 1.0.16 en adelante.
LinePlot (func1,func2,func3,...)
LinePlot (func1,func2,func3,x1,x2)
LinePlot (func1,func2,func3,x1,x2,y1,y2)
LinePlot (func1,func2,func3,[x1,x2])
LinePlot (func1,func2,func3,[x1,x2,y1,y2])
Dibujar una función (o varias funciones) con una línea. Los 10 primeros argumentos son funciones, entonces opcionalmente puede especificar los límites de las gráficas como x1
, x2
, y1
, y2
. Si no se especifican los límites, entonces se aplican los límites actuales (Consulte LinePlotWindow
). Si no se especifican los límites de y, las funciones se calculan y se usan las áreas máxima y mínima.
El parámetro LinePlotDrawLegends
controla el dibujado de la leyenda.
Ejemplos:
genius>
LinePlot(sin,cos)
genius>
LinePlot(`(x)=x^2,-1,1,0,1)
LinePlotClear ()
Muestra la ventana de dibujo lineal y limpia las funciones y otras líneas que se hubiesen dibujado.
LinePlotCParametric (func,...)
LinePlotCParametric (func,t1,t2,tinc)
LinePlotCParametric (func,t1,t2,tinc,x1,x2,y1,y2)
Dibujar una función valorada paramétrica compleja con una línea. Primero vienen las funciones que devuelven x+iy
, luego, opcionalmente, los t
límites como t1,t2,tinc
, y límites como x1,x2,y1,y2
.
Si los límites no se especifican, entonces se aplican las configuraciones actuales (Consulte LinePlotWindow
). Si en lugar de la cadena se da el valor «fit» para los límites x e y, los límites son la medida máxima de la gráfica.
El parámetro LinePlotDrawLegends
controla el dibujado de la leyenda.
LinePlotDrawLine (x1,y1,x2,y2,...)
LinePlotDrawLine (v,...)
Dibuja una línea desde x1
,y1
a x2
,y2
. Es posible reemplazar x1
,y1
, x2
,y2
por una matriz de n
por 2 para obtener una curva poligonal de mayor longitud. También el vector v
puede ser un vector columna de números complejos, esto es una matriz n
por 1 y cada número complejo se considera un punto en el plano.
Se pueden añadir parámetros adicionales para especificar el color de la línea, ancho, flechas, ventanas de dibujado o leyendas. Puede modificarlo añadiendo un valor a «color»
, «ancho»
, «ventana»
, «flecha»
, o «leyenda»
, y después especificar su color, la anchura, la ventana como 4 vectores, tipo de flecha, o la leyenda. (Flecha y ventana están desde la versión 1.0.6 y posteriores.)
Si la línea se considera como un polígono relleno, relleno con el color dado, se puede especificar el argumento «llenado»
. Desde la versión 1.0.22 en adelante.
La denominación del color debe ser una cadena que identifique al color según el diccionario inglés que GTK reconocerá como «red»
, «blue»
, «yellow»
, etc... De forma alternativa el color se puede especificar en formato RGB como por ejemplo «#rgb»
, «#rrggbb»
, o «#rrrrggggbbbb»
, donde r, g, o b son dígitos hexadecimales de los colores rojo, verde y azul (red, green, blue) . Finalmente, desde la versión 1.0.18, los colores se pueden especificar como vectores siendo el rojo, verde y azul componentes con valores que solo pueden ser 0 o 1. Por ejemplo: [1.0,0.5,0.1]
.
Los valores de entrada de la ventana deben ser del tipo [x1,x2,y1,y2]
, o bien, pueden ser una cadena «ajuste»
, en cualquier caso, el rango de x se establecerá con precisión y el rango y se puede ajustar con cinco por ciento alrededor del borde de la línea.
La especificación para la flecha debería ser «origen»
, «fin»
, «ambos»
, o «ninguno»
.
Finalmente, la leyenda debería ser una cadena que se pueda utilizar como leyenda en un gráfico. Es decir, si se imprimen las leyendas.
Ejemplos:
genius>
LinePlotDrawLine(0,0,1,1,"color","blue","thickness",3)
genius>
LinePlotDrawLine([0,0;1,-1;-1,-1])
genius>
LinePlotDrawLine([0,0;1,1],"arrow","end")
genius>
LinePlotDrawLine(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),"color","blue","legend","The Solution")
genius>
for r=0.0 to 1.0 by 0.1 do LinePlotDrawLine([0,0;1,r],"color",[r,(1-r),0.5],"window",[0,1,0,1])
genius>
LinePlotDrawLine([0,0;10,0;10,10;0,10],"filled","color","green")
A diferencia de muchas otras funciones que no les importa si toman una columna o un vector fila, si se especifican puntos como un vector de valores complejos, debido a las posibles ambigüedades, es preferible que sea un vector columna.
La especificación de v
como un vector columna de números complejos, se implementa desde la versión 1.0.22 en adelante.
LinePlotDrawPoints (x,y,...)
LinePlotDrawPoints (v,...)
Dibuja un punto en x
,y
. La entrada puede ser una matriz n
por 2 para n
puntos diferentes. Esta función es esencialmente la misma entrada que LinePlotDrawLine. De forma alternativa, el vector v
puede ser un vector columna de números complejos, esto es una matriz n
por 1 y cada número complejo se considera un punto en el plano.
Se pueden añadir parámetros adicionales para especificar el color, ancho, ventanas de dibujado o leyendas. Puede modificarlo añadiendo la palabra «color»
, «ancho»
, «ventana»
, o «leyenda»
, y después especificar su color, la anchura, la ventana como 4 vectores, o la leyenda.
La denominación del color debe ser una cadena que identifique al color según el diccionario inglés que GTK reconocerá como «red»
, «blue»
, «yellow»
, etc... De forma alternativa el color se puede especificar en formato RGB como por ejemplo «#rgb»
, «#rrggbb»
, o «#rrrrggggbbbb»
, donde r, g, o b son dígitos hexadecimales de los colores rojo, verde y azul (red, green, blue) . Finalmente los colores se pueden especificar como vectores siendo el rojo, verde y azul componentes con valores que solo pueden ser 0 o 1.
Los valores de entrada de la ventana deben ser del tipo [x1,x2,y1,y2]
, o bien, pueden ser una cadena «ajuste»
, en cualquier caso, el rango de x se establecerá con precisión y el rango y se puede ajustar con cinco por ciento alrededor del borde de la línea.
Finalmente, la leyenda debería ser una cadena que se pueda utilizar como leyenda en un gráfico. Es decir, si se imprimen las leyendas.
Ejemplos:
genius>
LinePlotDrawPoints(0,0,"color","blue","thickness",3)
genius>
LinePlotDrawPoints([0,0;1,-1;-1,-1])
genius>
LinePlotDrawPoints(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),"color","blue","legend","The Solution")
genius>
LinePlotDrawPoints([1;1+1i;1i;0],"thickness",5)
genius>
LinePlotDrawPoints(ApplyOverMatrix((0:6)',`(k)=exp(k*2*pi*1i/7)),"thickness",3,"legend","The 7th roots of unity")
A diferencia de muchas otras funciones que no les importa si toman una columna o un vector fila, si se especifica los puntos como un vector de valores complejos, debido a las posibles ambigüedades, siempre debe ser suministrado como un vector columna. Por lo tanto, la notificación en el último ejemplo la transpuesta del vector 0:6
para convertirlo en un vector columna.
Disponible desde la versión 1.0.18 en adelante. La especificación de v
como un vector columna de números complejos, se implementa desde la versión 1.0.22 en adelante.
LinePlotMouseLocation ()
Devuelve un vector fila de un punto de la línea de la pantalla de dibujado correspondiente a la ubicación actual del ratón. Si la trama de línea no es visible, entonces imprime un error y devuelve null
. En este caso se debe ejecutar LinePlot
o LinePlotClear
para poner la ventana en el modo de dibujado de lineas. Consulte también LinePlotWaitForClick
.
LinePlotParametric (xfunc,yfunc,...)
LinePlotParametric (xfunc,yfunc,t1,t2,tinc)
LinePlotParametric (xfunc,yfunc,t1,t2,tinc,x1,x2,y1,y2)
LinePlotParametric (xfunc,yfunc,t1,t2,tinc,[x1,x2,y1,y2])
LinePlotParametric (xfunc,yfunc,t1,t2,tinc,"fit")
Dibujar una función paramétrica con una línea. Primero vienen las funciones para x
e y
luego opcionalmente los t
límites como t1,t2,tinc
, y luego, opcionalmente, los límites como x1,x2,y1,y2
.
Si no se especifican los límites x e y, entonces se aplican las configuraciones actuales (Consulte LinePlotWindow
). Si en lugar de la cadena se da el valor «fit» para los límites x e y, los límites son la medida máxima de la gráfica.
El parámetro LinePlotDrawLegends
controla el dibujado de la leyenda.
LinePlotWaitForClick ()
Si está en el modo de dibujado de lineas, espera por un clic en la ventana de dibujado de lineas y devuelve la ubicación del clic como un vector fila. Si se cierra la ventana de la función devuelve inmediatamente con null
. Si la ventana no está en modo de dibujado de lineas, esta se pone de forma automática. Consulte también LinePlotMouseLocation
.
PlotCanvasFreeze ()
Congela el dibujo en el lienzo de dibujado de forma temporal. Esto es útil si necesita dibujar un grupo de elementos y quiere demorar el dibujado para no permitir el parpadeo de una animación. Después de terminar con el dibujo debería descongelar el lienzo de dibujado llamando a la función PlotCanvasThaw
.
El lienzo está siempre desbloqueado hasta el final de cualquier proceso, así que nunca permanece bloqueado. El momento en que se muestra una nueva línea de comandos, por ejemplo, el lienzo de dibujado se descongela automáticamente. También tenga en cuenta que las llamadas a congelar y descongelar puede anidarse de manera segura.
Desde la versión 1.0.18 en adelante.
PlotCanvasThaw ()
Descongela el lienzo de dibujado congelado por la función PlotCanvasFreeze
y volver a dibujar el lienzo inmediatamente. El lienzo también se descongelará al finalizar la ejecución de cualquier programa.
Desde la versión 1.0.18 en adelante.
PlotWindowPresent ()
Muestra y eleva la ventana de dibujo, creándola si es necesario. Normalmente, la ventana se crea cuando se invoca a una de las funciones de dibujo, pero no siempre la eleva si está debajo de otra ventana. Esta función es buena para utilizar en un archivo de órdenes llamado «script» en inglés, donde la ventana de dibujo ha sido creada anteriormente, y por ahora, oculta detrás de la consola u otras ventanas.
Desde la versión 1.0.19 en adelante.
SlopefieldClearSolutions ()
Borra las soluciones elaboradas por la función SlopefieldDrawSolution
.
SlopefieldDrawSolution (x, y, dx)
Cuando un campo de dibujo de gráficas está activo, dibuja una solución con las condiciones iniciales especificas. El método estándar de Runge-Kutta se usa con incremento dx
. Las soluciones permanecen en la gráfica hasta que se muestre un dibujo diferente o se llame a SlopefieldClearSolutions
. También puede utilizar la interfaz gráfica para dibujar soluciones y especificar las condiciones iniciales con el ratón.
SlopefieldPlot (func)
SlopefieldPlot (func,x1,x2,y1,y2)
Dibujar un campo inclinado. La función func
tomará dos números reales x
e y
, o un número complejo. De manera opcional se especificarán los límites de la ventana de dibujo con x1
, x2
, y1
, y2
. Si no se especifica ningún límite, se aplicarán los que estén configurados actualmente (Consulte LinePlotWindow
).
El parámetro LinePlotDrawLegends
controla el dibujado de la leyenda.
Ejemplos:
genius>
SlopefieldPlot(`(x,y)=sin(x-y),-5,5,-5,5)
SurfacePlot (func)
SurfacePlot (func,x1,x2,y1,y2,z1,z2)
SurfacePlot (func,x1,x2,y1,y2)
SurfacePlot (func,[x1,x2,y1,y2,z1,z2])
SurfacePlot (func,[x1,x2,y1,y2])
Dibujar una función superficial que tome entre dos argumentos o un número complejo. Primero vienen las funciones que las limitan de forma opcional x1
, x2
, y1
, y2
, z1
, z2
. Si no se especifican los límites, entonces las configuraciones actuales se aplicarán (Consulte SurfacePlotWindow
). Genius sólo puede dibujar una función superficial sencilla por el momento.
Si no se especifican los límites de z, se usan los valores máximo y mínimo de la función.
Ejemplos:
genius>
SurfacePlot(|sin|,-1,1,-1,1,0,1.5)
genius>
SurfacePlot(`(x,y)=x^2+y,-1,1,-1,1,-2,2)
genius>
SurfacePlot(`(z)=|z|^2,-1,1,-1,1,0,2)
SurfacePlotClear ()
Muestra la ventana de dibujo lineal y limpia las funciones y otras líneas que se hubiesen dibujado.
Disponible en la versión 1.0.19 y posteriores.
SurfacePlotData (datos)
SurfacePlotData (datos,etiqueta)
SurfacePlotData (datos,x1,x2,y1,y2,z1,z2)
SurfacePlotData (datos,etiqueta,x1,x2,y1,y2,z1,z2)
SurfacePlotData (datos,[x1,x2,y1,y2,z1,z2])
SurfacePlotData (datos,etiqueta,[x1,x2,y1,y2,z1,z2])
Dibujar una superficie a partir de los datos. Los datos son una matriz de n x 3 cuyas filas son las coordenadas x, y, z. Los datos pueden ser un vector cuya longitud sea múltiplo de 3 y que contenga los triples de x, y z. Los datos deben contener al menos 3 puntos.
Opcionalmente, se pueden indicar una etiqueta y los límites. Si no se indican los límites, se calculan a partir de los datos, no se usa SurfacePlotWindow
pero, si quiere usarla, debe pasarla explícitamente. Si no se indica una etiqueta, se usa una etiqueta vacía.
Ejemplos:
genius>
SurfacePlotData([0,0,0;1,0,1;0,1,1;1,1,3])
genius>
SurfacePlotData(datos,"Mis datos")
genius>
SurfacePlotData(datos,-1,1,-1,1,0,10)
genius>
SurfacePlotData(datos,SurfacePlotWindow)
Esto es un ejemplo de cómo dibujar con coordenadas polares, en particular, cómo dibujar la función -r^2 * theta
:
genius>
d:=null; for r=0 to 1 by 0.1 do for theta=0 to 2*pi by pi/5 do d=[d;[r*cos(theta),r*sin(theta),-r^2*theta]];
genius>
SurfacePlotData(d)
Desde la versión 1.0.16 en adelante.
SurfacePlotDataGrid (datos,[x1,x2,y1,y2])
SurfacePlotDataGrid (datos,[x1,x2,y1,y2,z1,z2])
SurfacePlotDataGrid (datos,[x1,x2,y1,y2],etiqueta)
SurfacePlotDataGrid (datos,[x1,x2,y1,y2,z1,z2],etiqueta)
Dibujar una superficie a partir de datos rectangulares regulares. Los datos se dan en una matriz matriz de n x m donde las filas son la coordenada x y las columnas son la coordenada y. La coordenada x se divide en n-1 subintervalos iguales y la coordenada y se divide en m-1 subintervalos iguales. Los límites x1
y x2
dan el intervalo en el eje x usado y los límites y1
e y2
dan el intervalo en el eje y usado. Si los límites z1
y z2
no se indican, se calculan a partir de los datos (para obtener valores extremos de los datos).
Opcionalmente se puede indicar la etiqueta; si no se indica ninguna, se unas una etiqueta vacía.
Ejemplos:
genius>
SurfacePlotDataGrid([1,2;3,4],[0,1,0,1])
genius>
SurfacePlotDataGrid(data,[-1,1,-1,1],"My data")
genius>
d:=null; for i=1 to 20 do for j=1 to 10 do d@(i,j) = (0.1*i-1)^2-(0.1*j)^2;
genius>
SurfacePlotDataGrid(d,[-1,1,0,1],"half a saddle")
Desde la versión 1.0.16 en adelante.
SurfacePlotDrawLine (x1,y1,z1,x2,y2,z2,...)
SurfacePlotDrawLine (v,...)
Dibuja una línea desde x1
,y1
,z1
hasta x2
,y2
,z2
. x1
,y1
,z1
, x2
,y2
,z2
se puede reemplazar por una matriz de n
por 3 para obtener una curva poligonal de mayor longitud.
Se pueden añadir parámetros adicionales para especificar el color de la línea, ancho, ventanas de dibujado o leyendas. Puede modificarlo añadiendo un valor a «color»
, «ancho»
, «ventana»
,o «leyenda»
, y después especificar su color, la anchura, la ventana como 6 vectores, o la leyenda.
La denominación del color debe ser una cadena que identifique al color según el diccionario inglés que GTK reconocerá como «red»
, «blue»
, «yellow»
, etc... De forma alternativa el color se puede especificar en formato RGB como por ejemplo «#rgb»
, «#rrggbb»
, o «#rrrrggggbbbb»
, donde r, g, o b son dígitos hexadecimales de los colores rojo, verde y azul (red, green, blue) . Finalmente, desde la versión 1.0.18, los colores se pueden especificar como vectores siendo el rojo, verde y azul componentes con valores que solo pueden ser 0 o 1. Por ejemplo: [1.0,0.5,0.1]
.
Los valores de entrada de la ventana deben ser del tipo [x1,x2,y1,y2,z1,z2]
, o bien, pueden ser una cadena «ajuste»
, en cualquier caso, el rango de x se establecerá con precisión y el rango y se puede ajustar con cinco por ciento alrededor del borde de la línea.
Finalmente, la leyenda debería ser una cadena que se pueda utilizar como leyenda en un gráfico. Es decir, si se imprimen las leyendas.
Ejemplos:
genius>
SurfacePlotDrawLine(0,0,0,1,1,1,"color","blue","thickness",3)
genius>
SurfacePlotDrawLine([0,0,0;1,-1,2;-1,-1,-3])
Disponible desde la versión 1.0.19 en adelante.
SurfacePlotDrawPoints (x,y,z,...)
SurfacePlotDrawPoints (v,...)
Dibuja un punto en x
,y
,z
. La entrada puede ser una n
por 3 matriz para n
puntos diferentes. Esta función es esencialmente la misma entrada que SurfacePlotDrawLine.
Se pueden añadir parámetros adicionales para especificar el color de la línea, ancho, ventanas de dibujado o leyendas. Puede modificarlo añadiendo un valor a «color»
, «ancho»
, «ventana»
,o «leyenda»
, y después especificar su color, la anchura, la ventana como 6 vectores, o la leyenda.
La denominación del color debe ser una cadena que identifique al color según el diccionario inglés que GTK reconocerá como «red»
, «blue»
, «yellow»
, etc... De forma alternativa el color se puede especificar en formato RGB como por ejemplo «#rgb»
, «#rrggbb»
, o «#rrrrggggbbbb»
, donde r, g, o b son dígitos hexadecimales de los colores rojo, verde y azul (red, green, blue) . Finalmente los colores se pueden especificar como vectores siendo el rojo, verde y azul componentes con valores que solo pueden ser 0 o 1.
Los valores de entrada de la ventana deben ser del tipo [x1,x2,y1,y2,z1,z2]
, o bien, pueden ser una cadena «ajuste»
, en cualquier caso, el rango de x se establecerá con precisión y el rango y se puede ajustar con cinco por ciento alrededor del borde de la línea.
Finalmente, la leyenda debería ser una cadena que se pueda utilizar como leyenda en un gráfico. Es decir, si se imprimen las leyendas.
Ejemplos:
genius>
SurfacePlotDrawPoints(0,0,0,"color","blue","thickness",3)
genius>
SurfacePlotDrawPoints([0,0,0;1,-1,2;-1,-1,1])
Disponible desde la versión 1.0.19 en adelante.
VectorfieldClearSolutions ()
Limpia las soluciones realizadas por la función VectorfieldDrawSolution
.
Desde la versión 1.0.16 en adelante.
VectorfieldDrawSolution (x, y, dt, tlen)
Cuando un campo de dibujo vectorial está activo, dibuja una solución con las condición específica inicial. El método estándar de Runge-Kutta se utiliza con incremento dt
para un intervalo de longitud tlen
. Las soluciones permanecen en la gráfica hasta que se muestra un dibujo diferente o hasta que se llama a VectorfieldClearSolutions
. Puede también utilizar la gráfica para dibujar soluciones y especificar las condiciones iniciales con el ratón.
Desde la versión 1.0.16 en adelante.
VectorfieldPlot (funcx, funcy)
VectorfieldPlot (funcx, funcy, x1, x2, y1, y2)
Dibujar un vector bidimensional. La función funcx
será la dx/dt del campo vectorial y la función funcy
la dy/dt del campo vectorial. Las funciones tomarán dos números reales x
e y
, o un simple número complejo. Cuando el parámetro VectorfieldNormalized
es true
, la magnitud de los vectores se normaliza. Es decir, sólo se muestra la dirección y no la magnitud.
De manera opcional puede especificar los límites de la ventana de dibujo como x1
, x2
, y1
, y2
. Si no se especifican los límites, entonces se aplicará los actuales (Consulte LinePlotWindow
).
El parámetro LinePlotDrawLegends
controla el dibujado de la leyenda.
Ejemplos:
genius>
VectorfieldPlot(`(x,y)=x^2-y, `(x,y)=y^2-x, -1, 1, -1, 1)