Tags:
create new tag
view all tags

Datasets Overview - Información general de conjunto de datos

Esta página describe los pasos básicos y las llamadas relacionadas con el subprograma para el suministro de datos a las rutinas de gráficos.

Descripcion:


Los datos y la presentación de datos en un gráfico están separada en áreas diferentes, por diseño. Esto le permite tener un proceso que produce un gráfico, pero no tiene que saber nada acerca de los datos que se representan gráficamente. Un proceso separado puede acumular los datos que se trazaron, a continuación, sólo tiene que ejecutar el proceso de la otra para producir el gráfico. Los datos reales se organizan en una estructura especial: un "punto de datos" es la unidad más pequeña y representa una unidad de datos y un "conjunto de datos" es un conjunto de "puntos de datos relacionados". Para efectos de presentación, hay un "data set template", un "data group", que es una colección de "data set templates” y una "layer", que es una colección de los "data groups”.
Todo lo anterior puede ser identificado, o no. Si está trabajando con múltiples layers, grupos de datos, y data set templates o data sets, se pueden nombrar para que trazar sea más fácil. Si sólo necesita una layer, data group, data set template, etc, entonces usted puede dejar el nombre en blanco cuando se crean.
Los atributos de "layers", "data groups'y' data set templates" se pueden ajustar de forma individual, es decir, puede cambiar el color o la forma de todas las barras en un "data group" para que sea diferente de otros tipos de barras. El tipo de layer determina cómo los datos serán presentados, es decir, usted puede tener un tipo de layer XY para gráficos de barras, una layer de Área para gráficos de áreas, etc Usted puede hacer más de una layer en un gráfico, la combinación de los distintos tipos de gráficos .
Los datos que se trazan en un gráfico se mantiene en un "conjunto de datos". No hay un límite específico para el número de "puntos" en el conjunto de datos. También puede administrar más de un conjunto de datos a la vez, dando a cada conjunto de datos de un nombre único al que lo inicialice.
El flujo general es inicializar un conjunto de datos, a continuación, utilizar varias subrutinas para agregar datos a su base de datos. Cuando se inicializa un gráfico circular, un conjunto de datos se inicia automáticamente. Si ya dispone de un conjunto de datos inicializa cuando se llama a la rutina de inicialización de un gráfico circular, entonces ese conjunto de datos se asociará con el nuevo gráfico.
Ciertos tipos de gráfico tienen rutinas específicas para definir layers de datos, es decir, un gráfico de barras que agreag más de un conjunto de datos. Estos se discuten en el marco del API de tabla para ese tipo particular. Los gráficos circulares tienen una API específica que le permite agregar un punto de datos y una etiqueta al mismo tiempo
(vea Chart design example)

El código siguiente ilustra la adición de una layer de datos en un gráfico de barras:

* ================================================================
*
* Add a bar chart layer to the chart
GOSUB 0CD .XY ADD BAR LAYER
*
* Add data group
GOSUB 0CD .LAYER ADD DATA GROUP
*
* Add dataset template
GOSUB 0CD .LAYER ADD DATASET TM
* ================================================================
* Initialize dataset
* ================================================================
PASS 1 FIELD SHARE? N
GOSUB 0CD .DATASET INITIALIZE
*
* Link dataset template to dataset
GOSUB 0CD .LAYER LINK DATASET TM
*
* ================================================================
* Add data to dataset
* ================================================================
*
PASS 85 FIELD SHARE? N
GOSUB 0CD .POINT ADD NEW
*
PASS 156 FIELD SHARE? N
GOSUB 0CD .POINT ADD NEW
*
PASS 179.5 FIELD SHARE? N
GOSUB 0CD .POINT ADD NEW
*
PASS 211 FIELD SHARE? N
GOSUB 0CD .POINT ADD NEW
*
PASS 123 FIELD SHARE? N
GOSUB 0CD .POINT ADD NEW

_----

---

Este ejemplo, sólo había un conjunto de datos, por lo que los nombres “default” se usa para crear y vincular los datos. Un ejemplo más complejo sería el caso en que tenemos uso de la red por 3 servidores diferentes para un período de una semana (lunes - viernes). En primer lugar queremos inicializar un "data set" para uno de los servidores (posiblemente dándole el nombre "servidor1") a través de .DATASET INITIALIZE. A continuación, agregamos nosotros cada día para uso de la red a través de ese servidor .POINT ADD NEW. Queremos repetir los pasos para el segundo y tercero servidor, nombrando cada "conjunto de datos", según corresponda. Ahora tenemos tres "conjuntos de datos" que contienen los "puntos de información" del uso de la red para cada servidor. Para representar esto en un gráfico de barras, se crearía una "layer" de nuestra tabla de vía .XY ADD BAR LAYER, a continuación, agregar un 'grupo de datos.LAYER ADD DATA GROUP. A continuación se añadiría 'data set templates” para cada uno de los tres servidores a través de .LAYER ADD DATASET TM. sto define la presentación de de nuestra chart, sin hacer referencia a los datos reales. Para agregar los datos a nuestra tabla, usaría .LAYER LINK DATASET TM para vincular los datos previamente introducidos con ‘data set templates”.

The following illustrates this example:

      *
      GOSUB        :DEFINE CHART
      GOSUB        :DEFINE LAYER
      GOSUB        :DEFINE GROUPS
      GOSUB        :DEFINE LABELS
      *
      GOSUB        :CREATE DATA
      *        Link the data to the data set templates
      PASS         SERVER1                    FIELD            SHARE? N
      PASS         DS1                        FIELD            SHARE? N
      GOSUB    0CD .LAYER LINK DATASET TM
      PASS         SERVER2                    FIELD            SHARE? N
      PASS         DS2                        FIELD            SHARE? N
      GOSUB    0CD .LAYER LINK DATASET TM
      PASS         SERVER3                    FIELD            SHARE? N
      PASS         DS3                        FIELD            SHARE? N
      GOSUB    0CD .LAYER LINK DATASET TM
      *
      GOSUB        :RENDER CHART
      END
      *
      LABEL    :DEFINE GROUPS
      *        ================================================================
      *        Add a group to link datasets to
      PASS         GROUP1                     FIELD            SHARE? N
      GOSUB    0CD .LAYER ADD DATA GROUP
      *
      PASS         DS1                        FIELD            SHARE? N
      GOSUB    0CD .LAYER ADD DATASET TM
      *
      *        Set Legend Title
      PASS         Server # 1                 FIELD            SHARE? N
      GOSUB    0CD .XY SET LEGEND TXT
      *
      *        Set dataset template color
      PASS         RED                        FIELD            SHARE? N
      GOSUB    0CD .XY SET BAR CLR
      *        ================================================================
      *        Add second dataset to group
      *
      PASS         DS2                        FIELD            SHARE? N
      GOSUB    0CD .LAYER ADD DATASET TM
      *
      *        Set Legend Title and Layer Name
      PASS         Server # 2                 FIELD            SHARE? N
      GOSUB    0CD .XY SET LEGEND TXT
      *
      *        Set dataset template color
      PASS         GREEN                      FIELD            SHARE? N
      GOSUB    0CD .XY SET BAR CLR
      *        ================================================================
      *        Add third dataset to group
      *
      PASS         DS3                        FIELD            SHARE? N
      GOSUB    0CD .LAYER ADD DATASET TM
      *
      *        Set Legend Title and Layer Name
      PASS         Server # 3                 FIELD            SHARE? N
      GOSUB    0CD .XY SET LEGEND TXT
      *
      *        Set dataset template color
      PASS         BLUE                       FIELD            SHARE? N
      GOSUB    0CD .XY SET BAR CLR
      RETURN
      *
      LABEL    :RENDER CHART
      *        ================================================================
      *        Render chart
      *        ================================================================
      SET      --- TEMP 256                   =
      PASS     --- TEMP 256                   FIELD            SHARE? Y
      GOSUB    0CD .CHART RENDER
      IF       0CD .CHART RENDER              EQ
F     TRAP
      SET      1CD WORK CHART FILENAME    001 =  --- TEMP 256
      RETURN
      *
      LABEL    :CREATE DATA
      *        ================================================================
      *        Initialize and name a dataset
      *        ================================================================
      PASS         1                          FIELD            SHARE? N
      PASS         SERVER1                    FIELD            SHARE? N
      GOSUB    0CD .DATASET INITIALIZE
      *        ================================================================
      *        Add data points to dataset
      *        ================================================================
      PASS         100                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         125                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         245                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         147                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         67                         FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *        Second data set
      PASS         1                          FIELD            SHARE? N
      PASS         SERVER2                    FIELD            SHARE? N
      GOSUB    0CD .DATASET INITIALIZE
      *        ================================================================
      *        Add data points to dataset
      *        ================================================================
      PASS         85                         FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         156                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         179                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         211                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         123                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *        ================================================================
      *        Initialize and name a dataset
      *        ================================================================
      PASS         1                          FIELD            SHARE? N
      PASS         SERVER3                    FIELD            SHARE? N
      GOSUB    0CD .DATASET INITIALIZE
      *        ================================================================
      *        Add data points to dataset
      *        ================================================================
      PASS         97                         FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         87                         FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         56                         FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         267                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      *
      PASS         157                        FIELD            SHARE? N
      GOSUB    0CD .POINT ADD NEW
      RETURN
      *
      LABEL    :DEFINE CHART
      *        Create a Multi-Bar Chart
      *
      *        ================================================================
      *        Initialize chart
      *        ================================================================
      *
      *        Initialize an XY chart
      PASS         XY CHART                   FIELD            SHARE? N
      GOSUB    0CD .CHART INITIALIZE
      *
      *        ================================================================
      *        Set chart attributes
      *        ================================================================
      *
      *        Set chart size
      PASS         500                        FIELD            SHARE? N
      PASS         320                        FIELD            SHARE? N
      GOSUB    0CD .CHART SET BG SIZE
      *
      *        Set the plot area
      PASS         100                        FIELD            SHARE? N
      PASS         40                         FIELD            SHARE? N
      PASS         280                        FIELD            SHARE? N
      PASS         240                        FIELD            SHARE? N
      GOSUB    0CD .XY SET PLOT AREA
      *        ================================================================
      *        Add titles
      *        ================================================================
      *        Chart title
      SET      --- TEMP 80                    =      Weekday
      APPEND   --- TEMP 80                    1      Network Load
      PASS     --- TEMP 80                    FIELD            SHARE? N
      GOSUB    0CD .CHART SET TITLE
      *        Y axis title
      PASS         Y                          FIELD            SHARE? N
      GOSUB    0CD .AXIS SET CURRENT
      SET      --- TEMP 80                    =      "Average\n
      APPEND   --- TEMP 80                    1      Workload\n
      APPEND   --- TEMP 80                    1      (Mbytes\n
      APPEND   --- TEMP 80                    1      Per Hour)"
      PASS     --- TEMP 80                    FIELD            SHARE? N
      GOSUB    0CD .AXIS SET TITLE
      *        ================================================================
      *        Add a legend box
      *        ================================================================
      PASS         400                        FIELD            SHARE? N
      PASS         100                        FIELD            SHARE? N
      GOSUB    0CD .CHART SET LEGEND BOX
      *
      RETURN
      *
      LABEL    :DEFINE LAYER
      *        ================================================================
      *        Add a layer to chart and set layer attributes.
      *        ================================================================
      SET      --- TEMP 1                     =
      PASS         SIDE                       FIELD            SHARE? N
      PASS     --- TEMP 1                     FIELD            SHARE? N
      PASS         OFF                        FIELD            SHARE? N
      GOSUB    0CD .XY ADD BAR LAYER
      *
      *        Set layer to be in 3D
      PASS         5                          FIELD            SHARE? N
      GOSUB    0CD .XY SET BAR 3D DEPTH
      RETURN
      *
      LABEL    :DEFINE LABELS
      *        ================================================================
      *        Add X axis labels
      *        ================================================================
      *        Set the axis we are going to add labels to.
      PASS         X                          FIELD            SHARE? N
      GOSUB    0CD .AXIS SET CURRENT
      *
      PASS         Mon                        FIELD            SHARE? N
      GOSUB    0CD .AXIS LABEL ADD NEXT
      *
      PASS         Tue                        FIELD            SHARE? N
      GOSUB    0CD .AXIS LABEL ADD NEXT
      *
      PASS         Wed                        FIELD            SHARE? N
      GOSUB    0CD .AXIS LABEL ADD NEXT
      *
      PASS         Thu                        FIELD            SHARE? N
      GOSUB    0CD .AXIS LABEL ADD NEXT
      *
      PASS         Fri                        FIELD            SHARE? N
      GOSUB    0CD .AXIS LABEL ADD NEXT
      *
      RETURN

En este ejemplo, cuando se definieron las plantillas de conjuntos de datos, nos dio a cada uno un nombre (DS1, DS2, DS3), y cuando hemos añadido nuestros conjuntos de datos, nos dio a cada uno un nombre también (SERVER1, SERVER2, SERVER3 ). Entonces pudimos vincular data set template atraves de .LAYER LINK DATASET TIM, pasándole los nombres específicos que queríamos vinculados. Si quisiéramos hacer esta tabla con un conjunto diferente de datos, lo único que tienes que hacer es crear 3 nuevos conjuntos de datos, vuelva a vincular los utilizando .LAYER LINK DATASET TM, y luego hacer el gráfico de nuevo. Observe cuando llamamos. XY ADD BAR LAYER, pasamos el parámetro OFF para suprimir la creación automática y la vinculación de grupos de datos, el conjunto de datos de plantillas y conjuntos de datos. Dado que estamos manejando nosotros mismos, no quería que la rutina que lo haga por nosotros. Observe también la técnica de pasar a un campo vacío. XY ADD BAR LAYER. Queríamos pasar los parámetros primero y tercero, así que tuvimos que tener un campo ficticio para pasar como segundo parámetro (--- TEMP 1 en este caso).

Comentarios

Read what other users have said about this page or add your own comments.


-- JeanNeron - 2011-09-21

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2013-02-19 - RayPelegrino
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback