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
9: int main(int argc,char **argv)
10: {
11: PetscDraw draw;
12: PetscDrawHG hist;
13: PetscDrawAxis axis;
14: int n = 20,i,ierr,x = 0,y = 0,width = 300,height = 300,bins = 8;
15: int color = PETSC_DRAW_GREEN;
16: const char *xlabel,*ylabel,*toplabel;
17: PetscReal xd;
18: PetscTruth flg;
20: xlabel = "X-axis Label";toplabel = "Top Label";ylabel = "Y-axis Label";
22: PetscInitialize(&argc,&argv,(char*)0,help);
23: PetscOptionsGetInt(PETSC_NULL,"-width",&width,PETSC_NULL);
24: PetscOptionsGetInt(PETSC_NULL,"-height",&height,PETSC_NULL);
25: PetscOptionsGetInt(PETSC_NULL,"-n",&n,PETSC_NULL);
26: PetscOptionsGetInt(PETSC_NULL,"-bins",&bins,PETSC_NULL);
27: PetscOptionsGetInt(PETSC_NULL,"-color",&color,PETSC_NULL);
28: PetscOptionsHasName(PETSC_NULL,"-nolabels",&flg);
29: if (flg) {
30: xlabel = (char *)0; toplabel = (char *)0;
31: }
32: /* PetscDrawOpenX(PETSC_COMM_SELF,0,"Title",x,y,width,height,&draw);*/
33: PetscDrawCreate(PETSC_COMM_SELF,0,"Title",x,y,width,height,&draw);
34: PetscDrawSetType(draw,PETSC_DRAW_X);
35: PetscDrawHGCreate(draw,bins,&hist);
36: PetscDrawHGGetAxis(hist,&axis);
37: PetscDrawAxisSetColors(axis,PETSC_DRAW_BLACK,PETSC_DRAW_RED,PETSC_DRAW_BLUE);
38: PetscDrawAxisSetLabels(axis,toplabel,xlabel,ylabel);
40: for (i=0; i<n ; i++) {
41: xd = (PetscReal)(i - 5);
42: PetscDrawHGAddValue(hist,xd*xd);
43: }
44: PetscDrawHGSetColor(hist,color);
45: PetscDrawHGDraw(hist);
46: PetscDrawFlush(draw);
48: PetscDrawHGDestroy(hist);
49: PetscDrawDestroy(draw);
50: PetscFinalize();
51: return 0;
52: }
53: