:orphan: # PetscDrawBarCreate Creates a bar graph data structure. ## Synopsis ``` #include "petscdraw.h" #include "petscviewer.h" PetscErrorCode PetscDrawBarCreate(PetscDraw draw, PetscDrawBar *bar) ``` Collective over draw ## Input Parameter - ***draw -*** The window where the graph will be made ## Output Parameter - ***bar -*** The bar graph context ## Notes Call `PetscDrawBarSetData()` to provide the bins to be plotted and then `PetscDrawBarDraw()` to display the new plot The difference between a bar chart, `PetscDrawBar`, and a histogram, `PetscDrawHG`, is explained here https://stattrek.com/statistics/charts/histogram.aspx?Tutorial=AP The MPI communicator that owns the `PetscDraw` owns this `PetscDrawBar`, but the calls to set options and add data are ignored on all processes except the zeroth MPI rank in the communicator. All MPI ranks in the communicator must call `PetscDrawBarDraw()` to display the updated graph. ## See Also `PetscDrawBar`, `PetscDrawLGCreate()`, `PetscDrawLG`, `PetscDrawSPCreate()`, `PetscDrawSP`, `PetscDrawHGCreate()`, `PetscDrawHG`, `PetscDrawBarDestroy()`, `PetscDrawBarSetData()`, `PetscDrawBar`, `PetscDrawBarDraw()`, `PetscDrawBarSave()`, `PetscDrawBarSetColor()`, `PetscDrawBarSort()`, `PetscDrawBarSetLimits()`, `PetscDrawBarGetAxis()`, `PetscDrawAxis`, `PetscDrawBarGetDraw()`, `PetscDrawBarSetFromOptions()` ## Level intermediate ## Location src/sys/classes/draw/utils/bars.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/draw/utils/bars.c) [Index of all Draw routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)