/* GDCHART 0.10.0dev  Floating Bar Example  2 Nov 2000 */
/* Copyright Bruce Verderaime 1998, 1999, 2000, 2001 */

#include <stdio.h>
 
#include "gdc.h"
#include "gdchart.h"
 
main()
{
    int             num_points = 10;

    float           data  [ 2 ][ num_points ];
    unsigned long   extclr[ num_points ];
    char            *lbls[  ] = { "Sep", "Oct", "Nov", "Dec", "Jan",
                                  "Feb", "Mar", "Apr", "May", "Jun" };
    GDC_SCATTER_T    scat[ num_points ];
    int              i;
 
    // data can come from anywhere (e.g., a DB)
    get_data( 2, num_points, data );
    get_individual_colors( 1, num_points, extclr );

    // scatter point (circle) in middle of each bar
    for( i=0; i<num_points; ++i )
        {
        scat[i].point = (float)i;
        scat[i].val   = ( data[0][i] + data[1][i] ) / 2.0;
        scat[i].width = 60;
        scat[i].color = 0x000000;
        scat[i].ind   = GDC_SCATTER_CIRCLE;
        }
    GDC_scatter         = scat;
    GDC_num_scatter_pts = num_points;

    GDC_ExtColor  = &(extclr[0]);       /* set color option */
    GDC_bar_width = 60;                 /* (%)              */
    GDC_image_type = GDC_PNG;
                                        /* ---- call lib V0.10 --- */
    GDC_out_graph( 200, 175,            /* width, height */
                   stdout,              /* open FILE pointer       */
                   GDC_3DFLOATINGBAR,   /* chart type              */
                   num_points,          /* num points per data set */
                   lbls,                /* X labels array of char* */
                   1,                   /* number of data sets     */
                   (float*)data,        /* data                    */
                   (float*)NULL );      /* right-hand-axis data    */
    exit(0);
}