The available types are

- Dynamic histogram
- Static Histogram
- Color Plot and Contour Plot
- Static 2D Histogram
- Profile histogram
- Profile histogram in two dimensions
- X-Y Plot and Scatter plot
- Strip Chart plot
- Y plot
- XYZ plot
- Image
- Variable Mesh

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.

Generated for HippoDraw by