iOS & macOS Charting Documentation - SciChart iOS & macOS Charts SDK v4.x
PointMarker 3D API
SciChart features a rich PointMarkers 3D API to annotate the data-points of certain 3D series with markers, e.g. Pyramid, Sphere, Ellipse, Quad or even a Custom Shape marker. Some series types, such as Scatter RenderableSeries 3D or Impulse RenderableSeries 3D, require a PointMarker3D assigned to them unless they won’t render at all.
This article is about how to configure and add PointMarkers 3D to a ISCIRenderableSeries3D to render markers for every data point.

NOTE: Examples of using PointMarkers API can be found in the SciChart iOS Examples Suite as well as on GitHub:
PointMarker 3D Types
SciChart provides several PointMarker 3D shapes out of the box, which are of 2 types: Flat-Texture and Mesh (Volumetric) which can be found below:
| Flat-Texture PointMarkers | Mesh (Volumetric) PointMarkers |
|---|---|
SCITrianglePointMarker3D |
SCIPyramidPointMarker3D |
SCIQuadPointMarker3D |
SCICubePointMarker3D |
SCIEllipsePointMarker3D |
SCISpherePointMarker3D |
SCIPixelPointMarker3D |
SCICylinderPointMarker3D |
SCICustomPointMarker3D |
It is possible to have a custom Flat-Texture PointMarker, and there is a SCICustomPointMarker3D for such purpose.
It allows to render a point marker from a SCIBitmap (which is a simple wrapper around the CGContext).
For more details, refer to the Custom PointMarkers 3D section down the page.
All the PointMarker types are inherited from the SCIBasePointMarker3D, which provides the following properties for styling point markers:
| PointMarker property | Description |
|---|---|
SCIBasePointMarker3D.size |
Allows to specify the size of a PointMarker. PointMarkers will not appear if this value isn’t set. |
SCIBasePointMarker3D.fillColor |
Specifies the fill color which will be used while drawing the PointMarker instance. |
SCIBasePointMarker3D.markerType |
Defines the SCIMarkerType for this point marker. |
Using PointMarkers 3D
Code for creation and assigning a PointMarker 3D to a ISCIRenderableSeries3D is essentially the same regardless of a PointMarker type.
After an instance of it has been created, it can be configured and then applied to the ISCIRenderableSeries3D.pointMarker property:
The code above will produce the following chart (assuming that the data has been added to the PointLine Series):

Custom PointMarkers 3D
SciChart iOS 3D provides a possibility to draw custom Flat-Texture PointMarkers via the SCICustomPointMarker3D class.
All you need to do - is to provide SCIBitmap texture which will be used as sprite, and then - rendered onto a 3d world.
Please see the example below:
NOTE: There are helper methods provided to create the
SCIBitmap- either via it’s static ctor -+[SCIBitmap bitmapWithImage:]or-[UIImage(SCIBitmap) sciBitmap]extension.
This would result in the following chart:

View on GitHub