1a4963045SJacob Faibussowitsch #pragma once 253450cbbSJed Brown 3*ce78bad3SBarry Smith /* MANSEC = Sys */ 4ac09b921SBarry Smith /* SUBMANSEC = Draw */ 5ac09b921SBarry Smith 6d1da0b69SBarry Smith /*J 716a05f60SBarry Smith PetscDrawType - String with the name of a `PetscDraw` implementation, for example `PETSC_DRAW_X` is for X Windows. 8d1da0b69SBarry Smith 9d1da0b69SBarry Smith Level: beginner 10d1da0b69SBarry Smith 1187497f52SBarry Smith .seealso: `PetscDrawSetType()`, `PetscDraw`, `PetscViewer`, `PetscDrawCreate()`, `PetscDrawRegister()` 12d1da0b69SBarry Smith J*/ 13d1da0b69SBarry Smith typedef const char *PetscDrawType; 14d1da0b69SBarry Smith #define PETSC_DRAW_X "x" 15d1da0b69SBarry Smith #define PETSC_DRAW_NULL "null" 16d1da0b69SBarry Smith #define PETSC_DRAW_WIN32 "win32" 17d1da0b69SBarry Smith #define PETSC_DRAW_TIKZ "tikz" 182b8d69caSLisandro Dalcin #define PETSC_DRAW_IMAGE "image" 19d1da0b69SBarry Smith 2053450cbbSJed Brown /*S 2187497f52SBarry Smith PetscDraw - Abstract PETSc object for graphics, often represents a window on the screen 2253450cbbSJed Brown 2353450cbbSJed Brown Level: beginner 2453450cbbSJed Brown 25db781477SPatrick Sanan .seealso: `PetscDrawCreate()`, `PetscDrawSetType()`, `PetscDrawType` 2653450cbbSJed Brown S*/ 2753450cbbSJed Brown typedef struct _p_PetscDraw *PetscDraw; 2853450cbbSJed Brown 2953450cbbSJed Brown /*S 3016a05f60SBarry Smith PetscDrawAxis - An object that manages X-Y axis for a `PetscDraw` 3153450cbbSJed Brown 3253450cbbSJed Brown Level: advanced 3353450cbbSJed Brown 3416a05f60SBarry Smith .seealso: `PetscDraw`, `PetscDrawAxisCreate()`, `PetscDrawAxisSetLimits()`, `PetscDrawAxisSetColors()`, `PetscDrawAxisSetLabels()` 3553450cbbSJed Brown S*/ 3653450cbbSJed Brown typedef struct _p_PetscDrawAxis *PetscDrawAxis; 3753450cbbSJed Brown 3853450cbbSJed Brown /*S 3916a05f60SBarry Smith PetscDrawLG - An object that manages drawing simple x-y plots 4053450cbbSJed Brown 4153450cbbSJed Brown Level: advanced 4253450cbbSJed Brown 4316a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawAxisCreate()`, `PetscDrawLGCreate()`, `PetscDrawLGAddPoint()` 4453450cbbSJed Brown S*/ 4553450cbbSJed Brown typedef struct _p_PetscDrawLG *PetscDrawLG; 4653450cbbSJed Brown 4753450cbbSJed Brown /*S 4816a05f60SBarry Smith PetscDrawSP - An object that manages drawing scatter plots 4953450cbbSJed Brown 5053450cbbSJed Brown Level: advanced 5153450cbbSJed Brown 5216a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSPCreate()` 5353450cbbSJed Brown S*/ 5453450cbbSJed Brown typedef struct _p_PetscDrawSP *PetscDrawSP; 5553450cbbSJed Brown 5653450cbbSJed Brown /*S 5716a05f60SBarry Smith PetscDrawHG - An object that manages drawing histograms 5853450cbbSJed Brown 5953450cbbSJed Brown Level: advanced 6053450cbbSJed Brown 61cddde00dSMatthew G. Knepley Note: 62cddde00dSMatthew G. Knepley Use a series of calls to `PetscDrawHGAddValue()` to create a standard histogram <https://en.wikipedia.org/wiki/Histogram>, where the bins have integer counts. Use calls to `PetscDrawHGAddWeightedValue()` to create a histogram with non-integer bin heights, such as the following <https://mathematica.stackexchange.com/questions/103928/histogram-from-relative-frequency-data> 63cddde00dSMatthew G. Knepley 64cddde00dSMatthew G. Knepley .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawSP`, `PetscDrawHGCreate()`, `PetscDrawHGAddValue()`, `PetscDrawHGAddWeightedValue()` 6553450cbbSJed Brown S*/ 6653450cbbSJed Brown typedef struct _p_PetscDrawHG *PetscDrawHG; 6753450cbbSJed Brown 6851fa3d41SBarry Smith /*S 6916a05f60SBarry Smith PetscDrawBar - An object that manages drawing bar graphs 7051fa3d41SBarry Smith 7151fa3d41SBarry Smith Level: advanced 7251fa3d41SBarry Smith 7316a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawBarCreate()` 7451fa3d41SBarry Smith S*/ 7551fa3d41SBarry Smith typedef struct _p_PetscDrawBar *PetscDrawBar; 76