Plot MultiAxes tutorial/es: Difference between revisions

From FreeCAD Documentation
(Created page with "===Configurar las series=== Configure el aspecto de las curvas para que se parezcan a las del ejemplo. Si no recuerda como llevar a cabo este trabajo recurra al [[Plot_Basic_...")
(Created page with "===Mostrar la malla y la legenda=== El proceso para mostrar la malla y la legenda is similar al seguido en el anterior tutorial, con la salvedad de...")
Line 63: Line 63:
Configure el aspecto de las curvas para que se parezcan a las del ejemplo. Si no recuerda como llevar a cabo este trabajo recurra al [[Plot_Basic_tutorial/es|anterior tutorial]].
Configure el aspecto de las curvas para que se parezcan a las del ejemplo. Si no recuerda como llevar a cabo este trabajo recurra al [[Plot_Basic_tutorial/es|anterior tutorial]].


===Showing grid and legend===
===Mostrar la malla y la legenda===

Grid and legend is shown and hide with the same tools that used in [[Plot_Basic_tutorial|previous tutorial]], but in this case the behaviour is a little bit different due to the presence of two different axes.
El proceso para mostrar la malla y la legenda is similar al seguido en el [[Plot_Basic_tutorial/es|anterior tutorial]], con la salvedad de que en este caso, al disponer de varios juegos de ejes, el comportamiento de cada elemento es diferente.


Regarding grid lines, you can show lines for each axes set, for example, if you try to show grid now you will show only the grid of the trigonometrical functions, so in order to show the grid of polynomial function plot you needs to change active axes to 0 (using axes configuration tool) before using grid tool another time (Is possible that you need to press two times the tool).
Regarding grid lines, you can show lines for each axes set, for example, if you try to show grid now you will show only the grid of the trigonometrical functions, so in order to show the grid of polynomial function plot you needs to change active axes to 0 (using axes configuration tool) before using grid tool another time (Is possible that you need to press two times the tool).

Revision as of 21:10, 5 December 2014

Antes de comenzar con el presente tutorial aseguresé de haber completado el tutorial sobre graficado básico. En este tutorial aprenderemos a crear y trabajar con gráficos con múltiples ejes de referencia. Puedes aprender más sobre el Módulo de graficado aquí.

Ejemplo de gráfico con múltiples ejes
Ejemplo de gráfico con múltiples ejes
Ejemplo de gráfico con múltiples ejes.

En la imagen anterior tenemos una muestra del aspecto del gráfico que pretendemos trazar. Siguiendo este tutorial usted aprenderá:

  • A crear gráficos con múltiples ejes desde la consola de Python.
  • A editar los diferentes juegos de ejes..
  • A controlar la legenda y la malla cuando existen varios juegos de ejes.
  • A reposicionar títulos y legenda.

Graficar

Tal y como hicimos en el anterior tutorial, vamos a emplear la consola de Python, o en su defecto las macros, para graficar los datos, con la diferencia de que en este caso lo haremos con varios juegos de ejes.

Crear los datos

En este ejemplo trazaremos tres curvas, dos de ellas serán las empleadas en el tutorial anterior, pero añadiremos una más de tipo polinómico. El objetivo es que los rangos de variación de esta función sean diferentes a los de las funciones polinómicas. Para crear todos los vectores de datos necesarios ejecutamos los siguientes comandos:

 import math
 p = range(0,1001)
 x = [2.0*xx/1000.0 for xx in p]
 y = [xx**2.0 for xx in x]
 t = [tt/1000.0 for tt in p]
 s = [math.sin(math.pi*2.0*tt) for tt in t]
 c = [math.cos(math.pi*2.0*tt) for tt in t]

Al moverse x entre 0 y 2, y se moverá entre 0 y 4, luego si trataramos de graficar esta función junto con las funciones trigonométricas, que se mueven entre 0 y 1, al menos una de las funciones estará o bien truncada, o bien mal escalada, y por tanto estamos interesados en emplear un segundo juego de ejes. Los gráficos con múltiples ejes en FreeCAD están orientados a la producción de gráficos con diferentes juegos de ejes de referencia, pero no para la creación de documentos con múltiples gráficos.

Trazar las funciones en varios ejes

En este ejemplo vamos a trazar la curva polinómica en los ejes principales. Si todos los ejes de referencia que usted va a crear tienen el mismo tamaño, no es muy relevante cúal emplea para cada curva, pero en caso de que un juego de ejes sea de menor tamaño (como ocurre en este ejemplo), es muy recomendable dejar los ejes principales (los que se crean por defecto) como los de mayor tamaño, puesto que en ellos se incorpora el fondo blanco. Para graficar la primera curva tan sólo necesitamos recurrir a los siguientes comandos:

 import Plot
 Plot.plot(x,y,r"$x^2$")

En este ejemplo optamos por pasar directamente el título de la serie como parámetro, en lugar de editarlo más tarde. Nótese que la cadena de texto pasada como argumento viene precedida de la letra r, lo que le indica a Python que no debe tratar de reinterpretar las sequencias especiales (el símbolo \ es muy frecuente en la notación LaTeX).

Para graficar las series trigonométricas creamos unos nuevos ejes sobre los que llamamos a la función plot. En el módulo de graficado de FreeCAD cuando se crea un nuevo juego de ejes, este se establece como el activo, y por tanto todas las curvas que se trazen se referirán a estos nuevos ejes.

 Plot.addNewAxes()
 Plot.plot(t,s,r"$\sin\left( 2 \pi t \right)$")
 Plot.plot(t,c,r"$\cos\left( 2 \pi t \right)$")

Como podrá comprobar el gráfico obtenido es una locura, con ejes que se superponen y curvas del mismo color. Para erreglarlo vamos a recurrir al módulo de graficado de FreeCAD.

Configuring plot

Configuring axes

El módulo de graficado de FreeCAD dispone de una herramienta para modificar las propiedades de cada eje.

Icono de la herramienta de configuración de ejes
Icono de la herramienta de configuración de ejes
Icono de la herramienta de configuración de ejes.

Lo primero que ustéd encontrará en ésta herramienta es el selector de juego de ejes activo. Ésta herramienta, al igual que la herramienta para establecer títulos, le permite seleccionar el juego de ejes activo sobre el que se graficarán futuras curvas. Por el momento trabajaremos sobre el juego de ejes 1, el último que generamos.

Lo primero que haremos será modificar el tamño de los ejes desplazando los deslizadores horizontal de la izquierda y vertical de abajo (trate de emular la imagen de ejemplo). Ahora podemos cambiar la alineación de los ejes hacia arriba y derecha, estableciendo un desfase de 2 unidades.

Configurar las series

Configure el aspecto de las curvas para que se parezcan a las del ejemplo. Si no recuerda como llevar a cabo este trabajo recurra al anterior tutorial.

Mostrar la malla y la legenda

El proceso para mostrar la malla y la legenda is similar al seguido en el anterior tutorial, con la salvedad de que en este caso, al disponer de varios juegos de ejes, el comportamiento de cada elemento es diferente.

Regarding grid lines, you can show lines for each axes set, for example, if you try to show grid now you will show only the grid of the trigonometrical functions, so in order to show the grid of polynomial function plot you needs to change active axes to 0 (using axes configuration tool) before using grid tool another time (Is possible that you need to press two times the tool).

Regarding legend, the legend will be the same for both axes, so you can choose the axes that you want in order to show the legend, but is strongly recommended to use the biggest ones (0 in this example) because position will be refered to this axes coordinates. If you show the legend you can see that is really bad placed, we will fix this problem later.

Setting axes labels

You can set axes labels with same tool used in previous tutorial, with the difference that now you have more axes. Since axes labels is ussually set as one per axis, is not a significant difference, but FreeCAD Plot module allow you to set a title by axes too. In this case we only wants to set title to main axes, so set:

Axes 0:

  • Title = Multiaxes example
  • X Label = $x$
  • Y Label = $\mathrm{f} \left( x \right)$

Axes 1:

  • X Label = $t$
  • Y Label = $\mathrm{f} \left( t \right)$

Set also 20 to fontsize for all but title, that uses a fontsize of 24. As happens with legend, title is bad placed, interseting with second axes set, so we need to solve both problems.

Setting elements position

FreeCAD Plot module provides a tool in order to set the position of several plot elements, as titles, labels or legend.

Position editor icon
Position editor icon
Position editor icon.

When you run the tool you see a list with all the editable elements. Title elements, as well as legend, can be moved in both directions, since axes labels can be moved only on the axes direction. Select title of axes 0 and move it to (0.24,1.01), then select legend and move it to a better position. You can increase legend labels fontsize too.

Saving plot

Now you can save your work. See previous tutorial if you don't remeber how to do it.