Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Internet > PHP > PHPlot
-Tutoriales

PHPlot


¿Por dónde empezar?

Antes de que empecemos a utilizar la librería PHPlot, deberíamos conocer la filosofía principal de su funcionamiento (nos permitirá entender mejor el propósito de las diversas funciones de la librería), además de la forma de preparar los datos presentados en la gráfica.

El dibujo preparado con la ayuda de la librería PHPlot puede estar compuesto de varias gráficas, y cada una de ellas compuesta de un conjunto de elementos. Las funciones de la librería trabajan con el sistema de coordenadas cartesianas, con el origen en el punto medio de la intersección de los ejes de la ordenada y de la abscisa, haciendo uso de las unidades características para el conjunto de datos presentados en la gráfica. Estas funciones también pueden utilizar la unidad de resolución de la pantalla (píxeles); en este caso, el punto inicial del sistema de coordenadas tiene su origen en la esquina superior izquierda de la pantalla.

Es importante saber diferenciar entre un dibujo y una gráfica. Un dibujo es un área en la que pueden haber una o más gráficas. En relación con esto, la librería PHPlot proporciona dos utilidades DrawGraph() y PrintImage(). La primera de ellas sirve para colocar una gráfica en la imagen, la segunda permite visualizar la imagen en la pantalla. Aparentemente, la diferencia es obvia, pero el programador que utiliza la librería PHPlot la detecta apenas cuando debe colocar más de una gráfica en una imagen. En el caso de dibujar solamente una gráfica, realizamos una operación equivalente a desplegar la imagen (desde el punto de vista del usuario de la librería). Utilizamos entonces el método DrawGraph(). Después de haber analizado varios ejemplos, esta cuestión nos parecerá muy sencilla.

Antes de dibujar la primera gráfica, debemos conocer la manera de preparar los datos que serán presentados. Estos datos deben ser transferidos a una tabla multidimensional, llamada array de datos (ing. data array). La ubicación de todo los datos en una tabla, permite protegernos de errores que aparecerían constantemente, en caso de que los valores del eje de las abscisas (X) fueran almacenados en otra tabla que los valores del eje de las ordenadas (Y), y los tamaños de estas tablas serían diferentes. Además, los datos que se presentan en las gráficas, por lo general provienen de bases de datos, lo que facilita el traspaso con la ayuda de las funciones tales como *_fetch_row o *_fetch_array y directamente transferidos a la librería PHPlot, con un mínimo esfuerzo del programador.

El array de datos es una tabla multidimensional, cuyos elementos principales son las llamadas, arrays de valores (ing. value array). En estos arrays también se almacenan las etiquetas de los datos y los valores de los ejes X e Y, además – en caso de ser necesario, – las desviaciones (barras de error) para la serie de datos presentados en la gráfica. A continucación se presenta la estructura de datos que requiere la librería PHPlot:

$data_table=
   array($data_table_1,
         $data_table_2 ,
         $data_table_3 ,);

El primer elemento del array de valores siempre es la etiqueta de los datos, y los elementos siguientes, son los valores colocados en la gráfica. Estos valores pueden ser interpretados por las funciones de la librería de tres maneras:

  • texto-dato,
  • dato-dato,
  • dato-dato-error.

En la interpretación texto-dato (ing. Text-data), la distancia entre los puntos de datos que son visualizados sobre el eje de las X es igual. El primer elemento de cada array de valores representa la etiqueta en el eje X, en cambio, todos los elementos restantes de esta tabla serán los valores del eje Y. A continuación se presenta un array que contiene datos de ejemplo:

$data=
   array(
      array("label1",2.4,3,3.7,4,5.1),
      array("label2",3,4,5,6,7),
      array("label3",1.1,2.2,3.3,4.4,5.5),
      array("label4",1.7,2,3,1.4,2)
);

Y ésta es la forma de su interpretación desde el punto de vista dato-dato (cada par de valores entre paréntesis representa un punto de datos dado):

(1,2.4),(1,3),(1,3.7),(1,4),(1,5.1)
(2,3),(2,4),(2,5),(2,6),(2,7)
(3,1.1),(3,2.2),(3,3.3),(3,4.4),(3,5.5)
(4,1.7),(4,2),(4,3),(4,1.4),(4,2)

Como vemos, aquí tenemos cinco series de datos (representados por cinco elementos de arrays de valores, con la excepción del primer elemento que es la etiqueta en el eje X), de los cuales, cada una está compuesta por cuatro puntos (representados por cuatro tablas de valores). Esta opción sirve perfectamente para representar datos empresariales, por ejemplo, los ingresos de un negocio por cada año de su actividad. En tal caso, las etiquetas serán los años y los puntos serán los ingresos en esos años.

La forma de interpretación de datos de la gráfica dato-dato (ing. Data-data) tiene gran similitud con la interpretación anterior, con una excepción. El segundo elemento del array de valores representa la posición del punto de datos en el eje X. Por lo consiguiente, los puntos de datos ya no están – como en la interpretación texto-datos – colocados en distancias iguales sobre el eje X. A continuación se presenta la forma de interpretación del array de datos presentada anteriormente bajo la interpretación dato-dato (cada par de valores entre paréntesis representa un punto de datos):

(2.4,3),(2.4,3.7),(2.4,4),(2.4,5.1)
(2,4),(3,5),(3,6),(3,7)
(1.1,2.2),(1.1,3.3),(1.1,4.4),(1.1,5.5)
(1.7,2),(1.7,3),(1.7,1.4),(1.7,2)

Como se puede ver, a pesar de un array de valores idénticos, obtuvimos diferentes puntos de datos. Aún más, comparando con la interpretación anterior la cantidad de series de datos se redujo en uno.

En la tercera interpretación dato-dato-error (ing. data-data-error) los elementos consecutivos de cada array de valores representan la etiqueta en el eje de las ordenadas, el valor X, el valor Y, barra positiva de error y barra negativa de error (es decir, desviación en la dirección de valores positivos de Y y desviación en la dirección de valores negativos en Y).

El primero de los tipos de datos presentados es la interpretación por defecto del array de datos. Si deseáramos modificarla, deberíamos recurrir al método SetDataType() del objeto de la clase PHPlot, proporcionándole en el parámetro el nombre del tipo de datos en inglés (es decir, text-data, data-data o data-data-error). A continuación veremos como se realiza esto en la práctica.

 
Patrocinados
 

Copyright © 1999-2010 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

diseño y desarrollo web por Color Vivo Internet. Un proyecto de los Hermanos Carrero