The available types are
By projection, we mean the reading or gathering of the data set and creating a set of points to be plotted. Each point is called a projected value. This could be as simple as mapping pairs of columns in a data source to X-Y pairs to be plotted. A more complex projection is gathering all the data, histogramming it and forming X-Y pairs to be plotted from the resultant histogram.
Given a set of points to be plotted, there might be a number of representations of a point. For example, for a two dimension histogram projection, each entry of the histogram could be represented by a colored box. The color would represent the value of that entry. Alternatively, the 2D histogram could be represented as a set of contour lines, each line being a value. See the examples in the Color Plot and Contour Plot section below. Via the Inspector Users Guide the point representation can be changed.
The point representations are just one client of the NTuple of projected values. Another is used for fitting functions to the data. Also, one can access the NTuple from Python extension modules.
This release of HippoDraw supports most compatible combinations of projections and point representations. Future releases will attempt to support all compatible combinations. The following data representations are supported as part of the core library in this release.
Defailt histogram representation
Alternate representations are with filled columns and with points as shown below.
Histogram with filled columns
Histogram with point symbols
Optionally a second column of data from the NTuple can be used as a weight factor for each value accumulated.
The histogram is dynamic in the sense that the parameters of the histogram such as bin width can be changed and the data representation can be recalculated. Also if the NTuple changes, the display will be automatically update.
With the Inspector, one creates a DyHistogram with plot type Histogram.
One can not create a St1DHistogram with the inspector. From Python or C++, one is created by giving the plot type as Static Histogram.
2D Histogram as colored boxes
Optionally, a third column of data from a NTuple can be used as a weight factor for each value accumulated into the histogram.
The ContourPlot represents the contents of the bins by calculating contour lines at different levels. Each level represents the interpolated value of the histogram density. The number of contour lines can be varied from 2 to 100. An example with only 6 levels is shown below.
2D Histogram with 6 contour lines
An example with 100 levels is shown below.
2D Histogram with 100 contour lines
Both the ColorPlot and the ContourPlot are dynamic in the sense that their range and bin width can be changed and the displays are automatically recalculated. For the ContourPlot, the number of contour lines can be also changed dynamically.
One can not create a St2DHistogram with the Inspector. From Python or C++ code, one is created by giving the plot type as Static 2D Histogram .
Profile histogram
What appears to be error bars is the RMS of the distribution. In a future releaes, there will be another data representation showing the error on the mean, rather than the RMS.
2D Profile histogram as colored boxes
The ProfileContour represents the average as contour lines as shown below.
2D Profile histogram as contour levels
Scatter plot
Each x-y pair is plotted at its true position. In this example plot, the X coordinate has integral values and one can see the vertical bands as a result.
The XYPlot is intended to be use when there is relatively little data, Each x-y pair is represented as a large symbol, which is a filled rectangle by default. Optionally, a third or fourth column of data can be gathered from the NTuple. The third column could be use to display an error on the X coordinate, while the fourth column for the error on the Y coordinate.` An example with Y error only is shown below.
X-Y Plot
Strip chart
Y plot
XYZ plot
The Whirlpool Galaxy displayed as an Image.
The Image can also be displayed using a contour point representation. The same image displayed as contour is shown below.
The Whirlpool Galaxy display in contour.
Variable Mesh plot.
There is no requirement that the coordinates be on any regular grid. If data cells are overlapping, then the last ones in the DataSource are drawn last. For this reason, only the Color Box point representation can be used.