1a4963045SJacob Faibussowitsch #pragma once 253450cbbSJed Brown 3ac09b921SBarry Smith /* SUBMANSEC = Draw */ 4ac09b921SBarry Smith 5d1da0b69SBarry Smith /*J 616a05f60SBarry Smith PetscDrawType - String with the name of a `PetscDraw` implementation, for example `PETSC_DRAW_X` is for X Windows. 7d1da0b69SBarry Smith 8d1da0b69SBarry Smith Level: beginner 9d1da0b69SBarry Smith 1087497f52SBarry Smith .seealso: `PetscDrawSetType()`, `PetscDraw`, `PetscViewer`, `PetscDrawCreate()`, `PetscDrawRegister()` 11d1da0b69SBarry Smith J*/ 12d1da0b69SBarry Smith typedef const char *PetscDrawType; 13d1da0b69SBarry Smith #define PETSC_DRAW_X "x" 14d1da0b69SBarry Smith #define PETSC_DRAW_NULL "null" 15d1da0b69SBarry Smith #define PETSC_DRAW_WIN32 "win32" 16d1da0b69SBarry Smith #define PETSC_DRAW_TIKZ "tikz" 172b8d69caSLisandro Dalcin #define PETSC_DRAW_IMAGE "image" 18d1da0b69SBarry Smith 1953450cbbSJed Brown /*S 2087497f52SBarry Smith PetscDraw - Abstract PETSc object for graphics, often represents a window on the screen 2153450cbbSJed Brown 2253450cbbSJed Brown Level: beginner 2353450cbbSJed Brown 24db781477SPatrick Sanan .seealso: `PetscDrawCreate()`, `PetscDrawSetType()`, `PetscDrawType` 2553450cbbSJed Brown S*/ 2653450cbbSJed Brown typedef struct _p_PetscDraw *PetscDraw; 2753450cbbSJed Brown 2853450cbbSJed Brown /*S 2916a05f60SBarry Smith PetscDrawAxis - An object that manages X-Y axis for a `PetscDraw` 3053450cbbSJed Brown 3153450cbbSJed Brown Level: advanced 3253450cbbSJed Brown 3316a05f60SBarry Smith .seealso: `PetscDraw`, `PetscDrawAxisCreate()`, `PetscDrawAxisSetLimits()`, `PetscDrawAxisSetColors()`, `PetscDrawAxisSetLabels()` 3453450cbbSJed Brown S*/ 3553450cbbSJed Brown typedef struct _p_PetscDrawAxis *PetscDrawAxis; 3653450cbbSJed Brown 3753450cbbSJed Brown /*S 3816a05f60SBarry Smith PetscDrawLG - An object that manages drawing simple x-y plots 3953450cbbSJed Brown 4053450cbbSJed Brown Level: advanced 4153450cbbSJed Brown 4216a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawAxisCreate()`, `PetscDrawLGCreate()`, `PetscDrawLGAddPoint()` 4353450cbbSJed Brown S*/ 4453450cbbSJed Brown typedef struct _p_PetscDrawLG *PetscDrawLG; 4553450cbbSJed Brown 4653450cbbSJed Brown /*S 4716a05f60SBarry Smith PetscDrawSP - An object that manages drawing scatter plots 4853450cbbSJed Brown 4953450cbbSJed Brown Level: advanced 5053450cbbSJed Brown 5116a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSPCreate()` 5253450cbbSJed Brown S*/ 5353450cbbSJed Brown typedef struct _p_PetscDrawSP *PetscDrawSP; 5453450cbbSJed Brown 5553450cbbSJed Brown /*S 5616a05f60SBarry Smith PetscDrawHG - An object that manages drawing histograms 5753450cbbSJed Brown 5853450cbbSJed Brown Level: advanced 5953450cbbSJed Brown 60*cddde00dSMatthew G. Knepley Note: 61*cddde00dSMatthew 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> 62*cddde00dSMatthew G. Knepley 63*cddde00dSMatthew G. Knepley .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawSP`, `PetscDrawHGCreate()`, `PetscDrawHGAddValue()`, `PetscDrawHGAddWeightedValue()` 6453450cbbSJed Brown S*/ 6553450cbbSJed Brown typedef struct _p_PetscDrawHG *PetscDrawHG; 6653450cbbSJed Brown 6751fa3d41SBarry Smith /*S 6816a05f60SBarry Smith PetscDrawBar - An object that manages drawing bar graphs 6951fa3d41SBarry Smith 7051fa3d41SBarry Smith Level: advanced 7151fa3d41SBarry Smith 7216a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawBarCreate()` 7351fa3d41SBarry Smith S*/ 7451fa3d41SBarry Smith typedef struct _p_PetscDrawBar *PetscDrawBar; 75