1.    Gráficas:

 

1.1      Introducción a gráficas:

 

El manejo de gráficas en SISINF es muy sencillo y el principal problema es mas bien tener la información a graficar, es decir los valores que forman la gráfica, ya que esto muchas veces supone un proceso de mucha información para sacar un resumen, mismo que se puede poner en forma de una gráfica.

 

Se verán aquí las explicaciones mediante programas en SISINF del uso de gráficas los ejemplos son:

 

·   Gráfica de pastel

·   Gráfica de barras

·   Gráfica de barras con varias series

·   Otras gráficas

·   Gráficas marcadas

·   Resumen de gráficas

 

Al final se tiene un resumen de gráficas, en donde se da una descripción general de las diferentes instrucciones de gráficas.

 

1.2      Primer ejemplo de gráfica:

 

Suponga que en su empresa se dan cursos y Usted desea graficar la evaluación que se hace de los mismos. En dicha evaluación se pregunta "Como se impartió el curso" y los encuestados seleccionan entre deficiente, aceptable, bueno y excelente. Usted captura cada evaluación con lo cual se acumula para cada curso el resultado Si se acumulan los de todos los cursos se tendrá el resultado global.

 

Los pasos a seguir para generar la gráfica de dicha evaluación en un programa serian:

 

1.      Modificar DBD:

 

Poner en la DBD en la parte de variables de programa (AREA) la siguiente definición de campo:

 

GRAF-EST         * * R0 S I

 

Con esto se define un campo imagen de trabajo. Para mayor información consulte la DBD de muestra DBDSSI.

 

2.        Agregar área de imagen:

 

En su programa debe agregar un AREA de IMAGEN, dichas áreas son muy parecidas a las de RENGLON con la diferencia que solo aceptan variables tipo imagen. El código seria:

 

      OPCION TERMINAL AREA 10 /IMAGEN $

        /LONG. 18  76 /POS. 3 3 /MARCO /CONFIRMAR $

        /TECLAS-DE-FUNCION 3 'Imprimir' $

        /BN VI /COLOR BLANCO-B BLANCO-B NEGRO $

        /CAMPOS 2 2 GRAF-EST  /VAR. /ESC. /LONG. 72 /RENG. 15

 

Para las variables imagen se necesita definir la longitud en columnas que ocupará la imagen y el número de renglones que ocupará dentro del área. Note que se usa la tecla de función 3 para imprimirla, posteriormente se verá la lógica para hacerlo.

 

3.        Calcular valores a graficar:

 

Por lógica del programa Usted tiene que calcular los totales de cada dato que desea graficar. Para esta explicación y el ejemplo se asume que el resultado esta en SUM-PA, SUM-PB, SUM-PC y SUM-PD en el programa PSSIA1 se asumieron unos valores fijos.

 

4.        Hacer la gráfica:

 

Se forma la gráfica, las instrucciones para hacerlo serian:

 

       FORMAR IMAGEN GRAF-EST /GRAFICA-PASTEL              $

          'Resultados de la evaluacion'       /3D      $

        /DATO SUM-PA 'Deficiente'  'ROJO'              $

        /DATO SUM-PB 'Aceptable'   'AMARILLO'          $

        /DATO SUM-PC 'Bueno'       'GRIS'              $

        /DATO SUM-PD 'Excelente'   'VERDE'             $

        /CONSTRUIR

 

Se pide una gráfica tipo PASTEL, en tres dimensiones y con titulo 'Resultados de la evaluación'. A continuación se pasan los 4 datos, se asume que en la variable SUM-PA Usted calculó el total de "Deficiente" que desea graficar con el color 'ROJO'. En SUM-PB se tiene el total de los 'Aceptable' para ponerlo con ‘AMARILLO', ... Al final se pide construir.

 

5.        Desplegarla:

 

Se despliega, las instrucciones serían como Usted ya conoce:

 

       OPCION TERMINAL AREA 10 /DESPLEGAR

       ESCRIBIR TERMINAL  GRAF-EST

       OPCION TERMINAL AREA 10 /TERMINAR

 

Internamente SISINF cuando se pide escribir en el área, saca las dimensiones actuales en pixeles del área 10 de su PC donde Usted la va a ver, construye la gráfica y la despliega.

 

6.        Imprimirla:

 

Como opción adicional se puede mandar a imprimir la gráfica para ello las instrucciones serían:

 

     IGUAL AREA N10 COND

     SACAR PARAMETROS CONDICION-TERMINAR COND

     SI COND <> 3 EJECUTA 100

     OPCION IMPRIMIR /NO-RENGLON-INICIAL $

             /DF  'SUIZO'  16 -5 $

             /ENC.  30 'Gráfica de evaluaciones' /AR 1 /CEL $

             /ENC.  1 70 /LHS

     IMPRIMIR DETALLE 10 GRAF-EST /L 400  /R 200

     OPCION IMPRIMIR

100 ....

 

Primero se revisa si se dio la tecla de función 3 para pedir la impresión, se ejecuta OPCION IMPRIMIR, definiendo los tipo de fuentes y encabezados y luego en el IMPRIMIR DETALLE se pone la variable imagen con la gráfica. Se especifica la longitud de la misma en puntos en este caso 400 y el total de puntos en los renglones 200 (Por definición 72 puntos ocupan una pulgada. Estos puntos son los mismos que Usted usa al definir los tipo de fuentes a usar en los editores de texto). Internamente SISINF construye la gráfica de 400 por 200 puntos y la pasa a la impresora.

 

Los pasos aquí descritos están en el programa PSSIA1 que Usted ya bajó en el directorio dado, bajo el subdirectorio FLS, para que lo compile y ejecute en su instalación.

 

1.3      Ejemplo con gráfica de barras:

 

La instrucción de FORMAR IMAGEN permite formar la gráfica con la ejecución de varias instrucciones y NO una sola como en el ejemplo anterior (PSSIA1), lo anterior permite que la lógica del programa primero calcule un valor a graficar y lo pase con FORMAR IMAGEN, luego otro y lo pase, ... En el programa PSSIA2 se verá como hacerlo, además de que será una gráfica de barras.

 

A)      Iniciar la gráfica:

 

La instrucción es:

 

       FORMAR IMAGEN GRAF-EST /GRAFICA-BARRAS  $

          'Resultados de la evaluacion'     $

          /VARIAS-INSTRUCCIONES  /VALORES  /2D  $

          /COLOR 'TRANSPARENTE' 'AZUL'  'NEGRO' 'ROJO-B'

 

Ahora es una gráfica de BARRAS, si Usted desea que aparezcan los valores que se grafican debe poner /VALORES.

 

También SISINF asume ciertos colores para hacer la gráfica, el fondo usa el mismo del área en que se despliega o el color BLANCO-B si se imprime. Otros colores de la gráfica los escoge también.

 

Si Usted usa la opción de /COLOR puede definir el color del fondo, el de las letras, el de las líneas de valores y el del titulo. Para que se use el color del área o el blanco brillante en impresión puede poner 'TRANSPARENTE' en color del fondo.

 

Aparece también la opción de /VARIAS-INSTRUCCIONES con lo cual se le indica que la gráfica se formará con varias instrucciones de FORMAR IMAGEN.

 

B)      Pasar los datos:

 

Se asume en este ejemplo que primero se calcula el valor a graficar y luego se pasa. La forma de hacerlo seria:

 

       FORMAR IMAGEN GRAF-EST  $

     /DATO SUM-PA 'Deficiente'  'ROJO' 'CIRCULOS-GRANDES'

 

Note que también se agregó un efecto en la gráfica que es de 'CIRCULOS-GRANDES'.

 

Para el segundo dato se tendría:

 

       FORMAR IMAGEN GRAF-EST  $

           /DATO SUM-PB 'Aceptable'   'AMARILLO' 'LLENO'

 

C)      Construir la gráfica:

 

Después de pasar todos los datos, al final se pondría:

 

    FORMAR IMAGEN GRAF-EST /CONSTRUIR /FIN-DE-INSTRUCCIONES

 

El programa que usa lo descrito es el PSSIA2, como comentario se tiene que la instrucción de FORMAR IMAGEN tiene valores preestablecidos para que con un mínimo se obtenga el resultado y opciones para cambiar a necesidades específicas. Al final se dará un resumen de la instrucción con todas sus opciones y valores.

 

 

 

1.4      Ejemplo de varias series de barras:

 

Si se continúa con el ejemplo de las evaluaciones de los cursos, suponga que ahora Usted desea combinar los resultados de 2 trimestres en una solo gráfica. Es decir tiene varias SERIES de datos una para cada trimestre. En el programa PSSIA3 se ve como hacerlo, los pasos importantes son:

 

A)      Se inicia la gráfica:

 

       FORMAR IMAGEN GRAF-EST /GRAFICA-BARRAS  $

          'Resultados de la evaluacion'     $

          /VARIAS-INSTRUCCIONES

  

B)      Datos primera serie:

 

Se calculan los datos de la primera SERIE (en este caso primer trimestre) y se pasan:

 

           FORMAR IMAGEN GRAF-EST $

         /SERIE '1 Trimestre'  'GRIS'  'ROMBOS' $

         /DATO SUM-PA  'Deficiente' $

         /DATO SUM-PB  'Aceptable'  $

         /DATO SUM-PC  'Bueno'      $

         /DATO -PD  'Excelente'

 

Note que se tiene la opción de /SERIE en donde se da el nombre de la misma, el color y el efecto (opcional). Ahora con /DATO solo se especifica el total y el letrero de lo que significa.

 

C)      Datos segunda serie:

 

Se calculan los datos de la segunda SERIE (en este caso segundo trimestre) y se pasan:

 

         FORMAR IMAGEN GRAF-EST $

          /SERIE '2 Trimestre'  'AZUL'  $

     /DATO SUM-PA  /DATO SUM-PB  /DATO SUM-PC /DATO SUM-PD

 

Note que ahora solo es necesario dar el valor de cada dato, asumiendo que hay una concordancia entre ellos.

 

D)      Construir la gráfica:

 

Al final se pondría:

 

       FORMAR IMAGEN GRAF-EST  /CONSTRUIR   /FIN-DE-INSTRUCCIONES

 

El programa que usa lo descrito es el PSSIA3. Como comentario se tiene que en la instrucción de FORMAR IMAGEN la opción de  /DATO tienen un uso diferente dependiendo del tipo de gráfica. En este caso no se especifica ni el color ni el efecto ya que estos se toman de la /SERIE y en las segunda, tercera, ... series solo se pasan los valores.

 

1.5      Otras gráficas:

 

En el programa PSSIA4 se tiene ahora una gráfica de tendencias, el ejemplo son las ventas de una empresa agrupadas en bimestres. Prácticamente es igual al de varias BARRAS con la diferencia que solo se especifica una serie y la gráfica se construyo en una sola instrucción.

 

El programa PSSIA5 es también una gráfica de tendencias pero los valores a graficar son las ventas y los gastos, es decir 2 series. Aquí la diferencia es que se hace en varias instrucciones.

 

También se tiene gráfica de HISTOGRAMA

 

1.6      Gráficas marcadas:

 

En SISINF se tiene el concepto de imágenes marcadas, que permite que el usuario se profundice en la información. Para ejemplificar estos conceptos se tiene el programa PSSIA6 en el que se asume que una empresa tiene 3 plantas y se desea graficar en un sistema de mantenimiento de las plantas, el total de averías que ocurren en cada una de ellas, así mismo se pueda seleccionar una de las plantas y desplegar las averías por trimestre. A continuación se describen las partes del programa.

 

A)      Áreas de terminal:

 

Se definen dos áreas de terminal, una tal como ya se había hecho en los programas anteriores y otra de menú que queda como:

 

 OPCION TERMINAL AREA 10 /MENU /SELECCIONAR-MARCA $

        /LONG. 18  34 /POS. 3 2 /MARCO /VARIAS-SELECCIONES $

        /BN VI /COLOR BLANCO-B BLANCO-B NEGRO $

        /TECLAS-DE-FUNCION 2 'Terminar'  /TIEMPO 0 0 5 $

        /CAMPOS  'Seleccione la planta' /ENC. $

         GRAF-EST  /VAR-OP. SUB /VAR-SEL.

 

SISINF al detectar que es área de /MENU pero que tiene /SELECCIONAR-MARCA asume que se va a leer de una imagen marcada aquella que seleccione el usuario. Note como esta área es como la de MENU con variables pero sólo acepta una variable del tipo imagen. En SUB se leerá el número de marca seleccionado por el usuario.

 

También es importante señalar que se puso /TIEMPO 0 0 5 con lo cual se indica que si el ratón se queda posicionado en una marca por mas de 5 segundos, esta se asume que es la seleccionada. Con SACAR PARAMETROS SELECCIONADO var-n1-0 se puede saber si dio botón izquierdo o fue por tiempo. Si no se pone esta opción siempre tendrá que dar botón izquierdo del ratón para seleccionar.

 

B)      Generación de la gráfica de selección:

 

La gráfica se genera como las anteriores pero ahora cada DATO se asocia a un número de marca. Se define por:

 

       FORMAR IMAGEN GRAF-EST /GRAFICA-BARRAS  $

          ' ' ' ' 'Planta' 'Avería'     $

          /VARIAS-INSTRUCCIONES  /VALORES  /2D 

 

Note que ahora no se definió el título, ni un subtítulo, sino los letreros en el eje X y en el Y, aunque esto se podría también hacer en los ejemplos anteriores.

 

Para formarla se tiene:

 

       SUB = 1

   10  NUM-AVE = NUM-AVE-T1 ( SUB ) + NUM-AVE-T2 ( SUB ) $

              + NUM-AVE-T3 ( SUB ) + NUM-AVE-T4 ( SUB )

       FORMAR IMAGEN GRAF-EST /DATO NUM-AVE NOM-PLA ( SUB ) $

                             COL-PLA ( SUB ) 'LLENO' SUB

       SUB = SUB + 1

       SI SUB <= 3 EJECUTA 10

 

Con la variable SUB se controla el número de cada planta, primero se calcula el total de averías sumando las de cada trimestre previamente calculadas dejándolo en NUM-AVE y luego se pasan a la gráfica.

 

La opción de /DATO tiene el valor, el nombre de la planta, el color, el efecto y un último parámetro que es el número asignado a esta barra o sea su número de marca que en este caso es el número de la planta.

 

En esta lógica se prefirió usar vectores pero puede también hacerse como en los ejemplos anteriores. En este caso a un vector N1 de 0 se le asignaron el número del color a usar para cada planta.

 

Como NOTA importante de la instrucción de FORMAR IMAGEN es que los colores y efectos se pueden poner con una literal, ejemplo 'ROJO' o bien con un número o variable numérica tipo N1 de 0. Al final una tabla de nombres y números de colores y efectos. NO ACEPTA en estos campos variables tipo X.

 

C)      Construcción, desplegado y leer selección:

 

Las instrucciones para hacerlo son:

 

                   FORMAR IMAGEN GRAF-EST  /CONSTRUIR  $

             /FIN-DE-INSTRUCCIONES

         OPCION TERMINAL AREA 10 /DESPLEGAR

         ESCRIBIR TERMINAL  GRAF-EST

     20  LEER TERMINAL EJECUTA /F2 30 SUB

 

Como se ve son parecidas al proceso de menú con variables. En este caso SISINF construye la gráfica con las dimensiones del área 10 y cuando el usuario selecciona con el ratón una de las barras regresa en SUB el número de la marca, que para este ejemplo es el número de la planta.

 

D)      Desplegado de averías trimestrales:

 

Una vez seleccionada la planta se despliegan sus averías trimestrales, la lógica es la vista en los ejemplos anteriores. Al final se regresa al LEER TERMINAL para que el usuario pueda seleccionar otra planta o terminar

 

Como una extensión a este programa, esta ultima gráfica podría ser también marcada, bastaría con cambiar el área 12 a MENU y agregar en la de /DATO el número de marca que puede ser el número del trimestre. Con esto se puede proceder a desplegar datos de las averías de este trimestre.

 

Como resumen en este ejemplo se ilustra como un usuario se puede ir profundizando en su información, iniciando con el total de averías en las plantas, luego para una planta examinar el total de averías en los trimestres. Si se hace una extensión al programa se puede ver la información de cada avería.

 

1.7      Resumen de Gráficas:

 

Los pasos para hacer gráficas se pueden resumir en:

 

A)      Seleccionar tipo de gráfica de acuerdo a la presentación que se desee y al tipo de información de entre Pastel, Barras, Tendencia o Histograma. Recordando que si se tienen varias series de datos no puede ser pastel.

 

B)      Se define el tipo de área de terminal a usar, pudiendo ser IMAGEN o MENU según el caso. Las áreas de IMAGEN permite una o varias, las de MENU para seleccionar marcas solo una.

 

C)      Definir si los datos se pasarán en una o en varias instrucciones de FORMAR IMAGEN. Esto dependerá de la cantidad de datos a graficar y de la forma de calcularlos. Note que el compilador tiene restricciones en la cantidad de opciones por lo que si es mucha información se necesitara hacerlo en varias instrucciones.

 

D)      Básicamente el formato general es:

 

Descripción

Instrucción

Iniciar

FORMAR IMAGEN Variable-Imagen

Tipo

/GRAFICA-PASTEL /GRAFICA-BARRAS /GRAFICA-TENDENCIAS /GRAFICA-HISTOGRAMA (Titulo (Subtitulo (LetreroX (LetreroY)))

Opciones

/COLOR Color-fondo (Color-letras Color-separador Color-titulo Color-subtitulo Color-letreros) /2D /3D /3DM /LETREROS /NO-LETREROS /VALORES /NO-VALORES /LINEA-S /LINEA-N /HORAS

Medidas

/POSICION-MEDIDAS PosX PosY DimX DimY

Una o varias instrucciones

/VARIAS-INSTRUCCIONES

Series

/SERIE Etiqueta Color (Efecto)

Datos

/DATO Valor Etiqueta Color (Efecto Marca)

Construir

/FIN-DE-INSTRUCCIONES /CONSTRUIR

 

La opción de /POSICION-MEDIDAS NO ha sido descrita en este capítulo y se hará en posteriores.

 

Las opciones de /COLOR /2D /3D... se pusieron en algunos de los ejemplos, su significado es:

 

Opción

Significado

/COLOR

Para definir algunos colores de la gráfica. Si se omite la opción se asume el color del fondo del área o en blanco para la impresora, y los demás se asumen dependiendo del fondo.

Se puede especificar solo el fondo y los demás se asumen dependiendo de este. O bien especificar el fondo, que puede ser TRANPARENTE y algunos de los otros colores, los que se omitan se asume 'NEGRO'.

/2D /3D /3DM

La gráfica se despliega en forma plana o bien se le da un efecto de tres dimensiones o se le da este efecto y se agregan unos marcos.

/LETREROS /NO-LETREROS

Se pone una leyenda con el significado de cada dato y su color. O bien no se pone.

/VALORES /NO-VALORES

Se pone el valor de cada dato o no se pone.

/LINEA-S /LINEA-N

Las líneas para delimitar las barras y tendencias son sencillas o en negrita (mas ancha).

/HORAS

Solo aplicable a histograma y significa que el dato de 4 dígitos es una hora siendo los dos primeros las horas y los dos siguientes los minutos. Así 1830 es 18:30.

 

Estas opciones se fijan por omisión de acuerdo al tipo de gráfica de acuerdo a la siguiente tabla:

 

Pastel

Barras

Tendencias

Histograma

/LETRERO

/LETRERO

/LETRERO

 

/2D

/3D

/2D

 

/LINEA-S

/LINEA-S

/LINEA-N

/LINEA-S

 

En general los valores por omisión dan resultados adecuados pero si se desean cambiar se puede hacer.

 

Como se puso en los ejemplos /SERIE solo se usa en graficas  de barras múltiple, tendencias e histograma.

 

Con /DATO se definen los valores a graficar y dependerá de tipo de gráfica y la serie cuales son opcionales.

 

Los ejemplos de este capítulo se pueden tomar como patrones generales y al tener casos parecidos, usarlos.

 

Los valores numéricos de los colores son:

 

Colores normales

Colores brillantes

Número

Nombre

Número

Nombre

0

‘NEGRO’

8

‘GRIS’

1

‘AZUL’

9

‘AZUL-B’

2

‘VERDE’

10

‘VERDE-B’

3

‘CELESTE’

11

‘CELESTE-B’

4

‘ROJO’

12

‘ROJO-B’

5

‘MAGENTA’

13

‘MAGENTA-B’

6

‘CAFÉ’

14

‘AMARILLO’

7

‘BLANCO’

15

‘BLANCO-B’

Colores adicionales

16

'TRANSPARENTE'

     

Los valores numéricos de los efectos son:

 

Efectos normales

Efectos grandes

Número

Nombre

Número

Nombre

0

'LLENO'

 

 

1

'PUNTOS'

51

'PUNTOS-GRANDES'

2

'LINEAS-HORIZONTALES'

52

'HORIZONTALES-SEPARADAS'

3

'LINEAS-VERTICALES'

53

'VERICALES-SEPARADAS'

4

'DIAGONALES-DESCENDENTES'

54

'DESCENDENTES-SEPARADAS'

5

'DIAGONALES-ASCENDENTES'

55

'ASCENDENTES-SEPARADAS'

6

'ROMBOS'

56

'ROMBOS-GRANDES'

7

'CUADRADOS'

57

'CUADRADOS-GRANDES'

8

'CIRCULOS'

58

'CIRCULOS-GRANDES'

9

'ZIG-ZAG'

59

'ZIG-ZAG-GRANDE'