iOS & macOS Charting Documentation - SciChart iOS & macOS Charts SDK v4.x
Tooltip Modifier 3D
In SciChart iOS 3D you can add Tooltips onto SCIChartSurface3D
using the SCITooltipModifier3D
.
It’s derived from the SCIChartModifier3DBase
and executes on touch over the data-point and shows tooltips under the pointer.
NOTE: Examples of the
SCITooltipModifier3D
usage can be found in the SciChart iOS Examples Suite as well as on GitHub:
SCITooltipModifier3D Usage
The SCITooltipModifier3D
allows inspecting RenderableSeries 3D at a touch point.
For convenience, the actual hit-test point is located a bit above the actual touch point. It is marked with a small “X” sign.
Tooltips will appear to the side of it, showing the hit-test result of the topmost ISCIRenderableSeries3D
at the “X” location:
For hit-testing series parts that are close to the chart boundaries, a multi-touch finger drag can be used, which makes hit-test point appear in between of two finger touches, same way as it works with 2D TooltipModifier.
SCITooltipModifier3D Features
The SCITooltipModifier3D
has a bunch of the configuration properties listed in the table below, some of them are inherited from its base class - SCITooltipModifierBase
:
Feature | Description |
---|---|
SCITooltipModifierBase3D.showTooltip |
Allows to hide or show modifier’s Tooltips. |
SCITooltipModifierBase3D.sourceMode |
Allows to specify which ISCIRenderableSeries are to be inspected by a modifier, e.g. Visible, Selected, etc. Other will be ignored by the modifier. Expects a member of the SCISourceMode enumeration. |
SCITooltipModifier3D.showAxisLabels |
Allows to hide or show Tooltips axis labels |
SCITooltipModifier3D.offset |
Specifies how far the hit-test point is from the actual touch point. This value will be used for either X or Y coordinate, or both, depending on markerPlacement . |
SCITooltipModifier3D.customPointOffset |
Specifies how far the hit-test point is from the actual touch point. As opposed to offset , both X and Y coordinate will always be applied. |
SCITooltipModifier3D.markerPlacement |
Allows to specify the position of the hit-test point relative to the touch point, e.g. Left, Top, etc… Expects a member of the SCIPlacement enumeration. |
SCITooltipModifier3D.tooltipPointMarkerPaintStyle |
Allows to specify SCIPenStyle which will be used to draw “X” marker. |
SCITooltipModifier3D.crosshairStrokeStyle |
Allows to specify the SCIPenStyle which will be used to draw Crosshair strokes |
SCITooltipModifier3D.crosshairPlanesFill |
Allows to specify the color to draw Crosshair planes with, if the SCICrosshairMode.SCICrosshairMode_Planes is selected. |
SCITooltipModifier3D.crosshairMode |
Allows to specify the crosshair mode, could be Planes or Lines. Expects SCICrosshairMode enumeration. |
SCITooltipModifier3D.projectionMode |
Defines the projection mode used to draw Crosshair. Expects the SCIProjectionMode enumeration. |
SCITooltipModifier3D.lineProjectionMode |
Allows to specify the planes, onto which the crosshair will be projected - XY, XZ, YZ or any combination of planes. Expects SCILineProjectionMode enumeration. |
Adding a SCITooltipModifier3D to a Chart
Any Chart Modifier 3D can be added to a SCIChartSurface3D
via the ISCIChartSurface3D.chartModifiers
property and SCITooltipModifier3D
with no difference:
NOTE: To learn more about features available, visit the Chart Modifier 3D APIs article.
Customizing Tooltip Modifier 3D Tooltips
In SciChart, you can fully customize tooltips for SCITooltipModifier3D
.
This customization is achieved via the ISCISeriesInfo3DProvider
and ISCISeriesTooltip3D
protocols.
Moreover - tooltips can be made unique per a RenderableSeries instance via the ISCIRenderableSeries3D.seriesInfoProvider
property.
NOTE: Examples of the
SCITooltipModifier3D
customization can be found in the SciChart iOS Examples Suite as well as on GitHub:
To have fully custom tooltip for your modifier, you will need to provide custom ISCISeriesInfo3DProvider
for your RenderableSeries via inheriting from SCISeriesInfo3DProviderBase
which contains some base functionality.
From there - you might want to override one of the following (or both):
-getSeriesInfoInternal
- allows to provide custom implementation ofSCISeriesInfo3D
, which simply contains information about a RenderableSeries and should be created based on it-getSeriesTooltipInternalWithSeriesInfo:modifierType:
- allows to provide custom tooltip for your series, based onseriesInfo
andmodifierType
NOTE: For more information about SCISeriesInfo3D, its types and place inside SciChart, you can read corresponding article from 2D Documentation - SCISeriesInfo – Models for Tooltips and Legends.
Customization SCITooltipModifier3D Example
First thing, we will need to create custom ISCISeriesTooltip3D
and implement -internalUpdate:
method in which we update tooltip instance based on passed in SCISeriesInfo3D
instance.
Then, in custom ISCISeriesInfo3DProvider
we override -getSeriesTooltipInternalWithSeriesInfo:modifierType
and provide our custom tooltip there.
Finally, we provide our custom SeriesInfo3DProvider to our ISCIRenderableSeries3D
instance via the corresponding property.
Let’s see the code below:
NOTE: Full example sources are available in 3D Charts -> Tooltips and HitTest 3D Charts -> Custom Serieis Tooltips 3D Charts
This will result in the following:
NOTE: A custom Tooltip has to implement the
ISCISeriesTooltip3D
or extend theSCISeriesTooltip3DBase
class, which is derived fromUILabel
.