Main part of OpenWPFChart
library is the object model of Chart components (parts) along with the basic set of these components.
- ChartScale family classes describe coordinate axis interval. ChartScale class defines Start, Stop and Scale properties. Start and Stop properties are of the object type (underlying type of these properties values must correspond to the axis base
type, e.g. double, DateTime, etc). Scale property is of double type and expresses the ratio of the scale extent in WPF logical pixels to the scale extent in "external", i.e. data, measurement units (e.g. number of pixels per 1 cm or number of pixels
per logarithmic scale base).
ChartScale class also defines some abstract and virtual methods to check the scale is properly initialized, to convert values from pixels to data measurement units and vice versa.
Farther, ChartScale class defines an abstract enumerator to walk though the sequence of the scale ticks. That is to say ChartScale represent not only an axis interval and scale but also its layout.
- Chart Item is a representation of a data at the Chart Area. Chart Item is the tree of linked objects:
Chart Item Model consists of the following elements:
- Data Objects to display at the Chart Area. Besides the data itself Data Object defines the ItemName property.
- DataViews Objects wrapping the Data Object. The Data Object corresponds to one ore more DataView Object. DataView Object decorates the Data Object with view state and presentation properties. Most notable of view state properties are HorizontalScale
- WPF DataTemplate links DataView Object with Chart Item Visual Elements to render the data to the WPF Visual Tree.
- Chart Item Elements represent the data as visuals to the WPF Visual Tree and make them the subject of WPF layout process. Each Chart Item Visual Element contains one ore more of Chart Item Visuals.
- Each of Chart Item Visuals renders a part of Chart Item Visual Element content to the display.
- Coordinate Grids and Axes display ChartScale data.