WPF Charting Documentation - SciChart WPF Charts SDK v5.x
The Bubble 3D Chart Type

3D Bubble Charts are provided by the ScatterRenderableSeries3D type.



The ScatterRenderableSeries3D supports multiple pointmarkers, including:

3D Marker Types

Fast 2D Marker types

Declaring a 3D Scatter Series with custom Sizes & Colors

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

Copy Code
<s3D:SciChart3DSurface x:Name="SciChart"
        <s3D:Camera3D ZoomToFitOnAttach="True" />
        <!--  To create a Scatter Chart, create a ScatterRenderableSeries3D and use a 3D point marker type  -->
        <s3D:ScatterRenderableSeries3D x:Name="ScatterSeries3D">
                <s3D:SpherePointMarker />
        <s3D:NumericAxis3D GrowBy="0.1, 0.1" />
        <s3D:NumericAxis3D GrowBy="0.1, 0.1" />
        <s3D:NumericAxis3D GrowBy="0.1, 0.1" />
        <s3D:XyzGizmoModifier3D />


Code Behind
Copy Code
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
    var xyzDataSeries3D = new XyzDataSeries3D<double>() {SeriesName = "Colorful Bubble!"};
    const int count = 250;
    var random = new Random(0);
    for (var i = 0; i < count; i++)
        var x = DataManager.Instance.GetGaussianRandomNumber(5, 1.5);
        var y = DataManager.Instance.GetGaussianRandomNumber(5, 1.5);
        var z = DataManager.Instance.GetGaussianRandomNumber(5, 1.5);
        // Scale is a multiplier used to increase/decrease ScatterRenderableSeries3D.ScatterPointSize
        var scale = (float) ((random.NextDouble() + 0.5)*3.0);
        // Color is applied to PointMetadata3D and overrides the default ScatterRenderableSeries.Stroke property
        Color? randomColor = Color.FromArgb(0xFF, (byte) random.Next(50, 255), (byte) random.Next(50, 255), (byte) random.Next(50, 255));
        // To declare scale and colour, add a VertextData class as the w (fourth) parameter.
        // The PointMetadata3D class also has other properties defining the behaviour of the XYZ point
        xyzDataSeries3D.Append(x, y, z, new PointMetadata3D(randomColor, scale));
    ScatterSeries3D.DataSeries = xyzDataSeries3D;
    PointMarkerCombo.SelectedIndex = 0;

NOTE: You can also declare RenderableSeries using full MVVM (series ViewModels) using the SeriesBinding MarkupExtension. Please see MVVM DataSeries / RenderableSeries API for more details.





SCICHART ® is a Registered Trademark in the UK, US and EEC. Copyright SciChart Ltd 2011-2018.

Email us to give feedback!