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 barras con varias series
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:
Con esto se define un campo imagen de trabajo. Para
mayor información consulte la DBD de muestra DBDSSI.
2.
Agregar área de
imagen:
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
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
OPCION IMPRIMIR
100 ....
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:
A)
Iniciar la
gráfica:
La instrucción es:
FORMAR IMAGEN GRAF-EST /GRAFICA-BARRAS $
/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:
/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 $
/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.

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
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:
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.

Los pasos para hacer gráficas se pueden resumir en:
|
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' |