Within the SciChart SDK, ChartModifiers are the classes which can be added to a chart to give it a certain behaviour. For instance, all zooming, panning operations, tooltips, legends and even selection of points or lines are handled by ChartModifierBase derived classes in the SciChart codebase.
There are many different ChartModifiers provided by SciChart and each one deserves an article by itself! This article is concerned with simply giving an overview of the modifiers and where you can find the examples in our Examples Suite which demonstrate them.
There are also several individual articles on the ChartModifier's and how to configure them in the SciChart Documentation.
Multi-Axis Charts
In SciChart, each Axis within an Axis Collection must have a unique identifier, which is a string provided via the Axis.Id property. By default, axes are assigned a default Axis ID.
For charts with a single Axis, it is not necessary to set a custom Axis Id. However, when using a secondary Axis, it is important to assign unique IDs to all axes in the corresponding Axis Collection.
In scenarios involving multiple Axes, certain ChartModifiers, such as XAxisDragModifier, YAxisDragModifier, DataPointSelectionModifier, AnnotationCreationModifier, and SeriesValueModifier, need to be linked to a specific Axis. These modifiers have XAxisId and YAxisId properties that allow them to be associated with a particular X or Y Axis.
Zoom, Pan Modifiers
Modifier Name |
Description |
Demo Link |
InertialZoomPanModifier |
An experimentation implementation of ZoomPanModifier that includes Inertial panning |
|
MouseWheelZoomModifier |
Zooms or pans the chart via the MouseWheel |
|
PinchZoomModifier |
Zooms the chart via the Pinch-Zoom Multitouch Gesture |
|
RubberBandXyZoomModifier |
Zooms after a rectangle or horizontal section is drawn on the chart via the mouse |
|
XAxisDragModifier |
Zooms or pans a single XAxis via mouse-drag on the axis itself |
|
YAxisDragModifier |
Zooms or pans a single YAxis via mouse-drag on the axis itself |
|
ZoomExtentsModifier |
Resets the zoom to extents via Double-click |
|
ZoomPanModifier |
Pans the chart in X, Y or both directions via mouse-drag |
Interactivity, Cursor Modifiers
Modifier Name |
Description |
Demo Link |
AnnotationCreationModifier |
Creates user-editable annotations via mouse-click interactions |
|
CursorModifier |
Provides a crosshairs with X,Y Axis Labels and simple tooltip |
|
DataPointSelectionModifier | Allows selection of individual data-points via the PointMetadata API | PointMarkers Selection |
RolloverModifier |
Provides a vertical slice cursor with tooltips plus datasource for custom legends |
|
SeriesSelectionModifier |
Provides selection of series via mouse-clicks |
|
ToolTipModifier |
Provides Tooltips on the nearest series under the mouse suitable for use on Scatter Series and unsorted line series |
|
VerticalSliceModifier |
Provides multiple adjustable vertical lines which slice many series and provide tooltips about their Y-values |
Miscelleneous Modifiers
Modifier Name |
Description |
Demo Link |
LegendModifier |
Provides a DataSource for the SciChartLegend control |
|
SeriesValueModifier |
Provides Axis Markers labelling the latest Y-Value of a series |
|
ModifierGroup |
Allows attaching several ChartModifiers to a single SciChartSurface and propagating mouse-events |