/* GDCHART 0.95b 3D Bar sample 09 Aug 1999 */ #include <stdio.h> #include "gdc.h" #include "gdchart.h" main() { int num_points = 5, num_sets = 2; float data [ num_sets ][ num_points ]; unsigned long extclr[ num_sets ][ num_points ]; char *lbls[ ] = { "Fred", "Dino", "Mr.\nSlate", "Barney", "Wilma" }; get_data( num_sets, num_points, data ); get_individual_colors( num_sets, num_points, extclr ); GDC_ExtColor = &(extclr[0][0]); /* set color option */ GDC_bar_width = 60; /* (%) */ // printf( "Content-Type: image/gif\n\n" ); /* mime type (CGI) */ /* ---- call the lib V0.94b ----- */ out_graph( 200, 175, /* width, height */ stdout, /* open FILE pointer */ GDC_3DBAR, /* chart type */ num_points, /* num points per data set */ lbls, /* X labels array of char* */ 2, /* number of data sets */ &(data[0][0]), /* dataset 1 */ &(data[1][0]) ); /* dataset 2 */ // /* ---- call the lib V0.95b ----- */ // GDC_out_graph( 200, 175, /* width, height */ // stdout, /* open FILE pointer */ // GDC_3DBAR, /* chart type */ // num_points, /* num points per data set */ // lbls, /* X labels array of char* */ // num_sets, /* number of data sets */ // (float*)data, /* data */ // (float*)NULL ); /* no right-hand-axis data */ exit(0); } /* --------------------------------------------------------- */ /* sample data gathering routine */ /* data can come from anywhere, generally a DB or data file */ /* here it's randomly generated */ /* --------------------------------------------------------- */ #include <stdlib.h> /* for rand() */ #include <time.h> /* for seed */ get_data( int num_sets, int num_points, float data[num_sets][num_points] ) { int i, j; srand( (unsigned int)time((time_t)NULL) ); for( i=0; i<num_sets; ++i ) for( j=0; j<num_points; ++j ) /* random number between 0 & 500 */ data[i][j] = 1.0+(500.0 * rand()/(RAND_MAX+1.0)); } /* -------- also random colors ----------------------------- */ get_individual_colors( int num_sets, int num_points, unsigned long extclr[num_sets][num_points] ) { int i, j; for( i=0; i<num_sets; ++i ) for( j=0; j<num_points; ++j ) extclr[i][j] = (unsigned long)rand(); }