Actual source code: ex9.c
1: /*$Id: ex9.c,v 1.15 2001/08/07 21:28:44 bsmith Exp $*/
3: static char help[] = "Makes a simple histogram.n";
5: #include petsc.h
7: int main(int argc,char **argv)
8: {
9: PetscDraw draw;
10: PetscDrawHG hist;
11: PetscDrawAxis axis;
12: int n = 20,i,ierr,x = 0,y = 0,width = 300,height = 300,bins = 8;
13: int color = PETSC_DRAW_GREEN;
14: char *xlabel,*ylabel,*toplabel;
15: PetscReal xd;
16: PetscTruth flg;
18: xlabel = "X-axis Label";toplabel = "Top Label";ylabel = "Y-axis Label";
20: PetscInitialize(&argc,&argv,(char*)0,help);
21: PetscOptionsGetInt(PETSC_NULL,"-width",&width,PETSC_NULL);
22: PetscOptionsGetInt(PETSC_NULL,"-height",&height,PETSC_NULL);
23: PetscOptionsGetInt(PETSC_NULL,"-n",&n,PETSC_NULL);
24: PetscOptionsGetInt(PETSC_NULL,"-bins",&bins,PETSC_NULL);
25: PetscOptionsGetInt(PETSC_NULL,"-color",&color,PETSC_NULL);
26: PetscOptionsHasName(PETSC_NULL,"-nolabels",&flg);
27: if (flg) {
28: xlabel = (char *)0; toplabel = (char *)0;
29: }
30: /* PetscDrawOpenX(PETSC_COMM_SELF,0,"Title",x,y,width,height,&draw);*/
31: PetscDrawCreate(PETSC_COMM_SELF,0,"Title",x,y,width,height,&draw);
32: PetscDrawSetType(draw,PETSC_DRAW_X);
33: PetscDrawHGCreate(draw,bins,&hist);
34: PetscDrawHGGetAxis(hist,&axis);
35: PetscDrawAxisSetColors(axis,PETSC_DRAW_BLACK,PETSC_DRAW_RED,PETSC_DRAW_BLUE);
36: PetscDrawAxisSetLabels(axis,toplabel,xlabel,ylabel);
38: for (i=0; i<n ; i++) {
39: xd = (PetscReal)(i - 5);
40: PetscDrawHGAddValue(hist,xd*xd);
41: }
42: PetscDrawHGSetColor(hist,color);
43: PetscDrawHGDraw(hist);
44: PetscDrawFlush(draw);
46: PetscDrawHGDestroy(hist);
47: PetscDrawDestroy(draw);
48: PetscFinalize();
49: return 0;
50: }
51: