SciChart Android 3D Charts API > 3D Chart Types > The PointLine 3D Chart Type
The PointLine 3D Chart Type

3D Point-Line Charts are provided by the PointLineRenderableSeries3D type.

 

 

The PointLineRenderableSeries3D supports multiple pointmarkers, including:

3D Marker Types

    SpherePointMarker3D - a 3D Sphere at each point
    CubePointMarker3D - 3D Cube at each point
    PyramidPointMarker3D - a 3D Pyramid at each point
    CylinderPointMarker3D - a 3D Cylinder at each point

Fast 2D Marker types

    PixelPointMarker3D - a single pixel at each point
    QuadPointMarker3D - a Quad (flat square) facing the camera at each point
    EllipsePointMarker3D - a flat ellipse facing the camera at each point
    TrianglePointMarker3D - a flat triangle facing the camera at each point
    CustomPointMarker3D - custom flat textured markers facing the camera at each point

Declaring a 3D Point Line Series

To declare a 3D Point Line Series with individual sizes & colors, use the following code.

PointLine 3D Chart
Copy Code
final DataManager dataManager = DataManager.getInstance();
final Camera3D camera = sciChart3DBuilder.newCamera3D().build();
final NumericAxis3D xAxis = sciChart3DBuilder.newNumericAxis3D().withGrowBy(.1, .1).build();
final NumericAxis3D yAxis = sciChart3DBuilder.newNumericAxis3D().withGrowBy(.1, .1).build();
final NumericAxis3D zAxis = sciChart3DBuilder.newNumericAxis3D().withGrowBy(.1, .1).build();
final XyzDataSeries3D<Double, Double, Double> xyzDataSeries3D = new XyzDataSeries3D<>(Double.class, Double.class, Double.class);
final PointMetadataProvider3D metadataProvider = new PointMetadataProvider3D();
final ObservableCollection<PointMetadataProvider3D.PointMetadata3D> medatata = metadataProvider.metadata;
for (int i = 0; i < 100; i++) {
    final double x = 5 * Math.sin(i);
    final double y = i;
    final double z = 5 * Math.cos(i);
    xyzDataSeries3D.append(x, y, z);
    final int color = dataManager.getRandomColor();
    final float scale = dataManager.getRandomScale();
    medatata.add(new PointMetadataProvider3D.PointMetadata3D(color, scale));
}
final SpherePointMarker3D pointMarker = sciChart3DBuilder.newSpherePointMarker3D()
        .withFill(ColorUtil.Red)
        .withSize(5f)
        .build();
final PointLineRenderableSeries3D rs = sciChart3DBuilder.newPointLinesSeries3D()
        .withDataSeries(xyzDataSeries3D)
        .withPointMarker(pointMarker)
        .withStroke(ColorUtil.Green)
        .withStrokeThicknes(2f)
        .withIsAntialiased(false)
        .withIsLineStrips(true)
        .withMetadataProvider(metadataProvider)
        .build();
UpdateSuspender.using(surface3d, new Runnable() {
    @Override
    public void run() {
        surface3d.setCamera(camera);
        surface3d.setXAxis(xAxis);
        surface3d.setYAxis(yAxis);
        surface3d.setZAxis(zAxis);
        surface3d.getRenderableSeries().add(rs);
    }
});

Property IsLineStrips

The Point Line 3D Series also allows you to split the line at every other point. useful if you want to use it to draw a free-form grid. To enable this behaviour, set the IsLineStrips property. This property is used in the 3D Charts > Series Tooltips 3D Chart example.