SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, and now iOS Charting & Android Chart Components

Welcome to the SciChart Community Forums!

Please use the forums below to ask questions about SciChart. Take a moment to read our Question asking guidelines on how to ask a good question and our support policy. We also have a tag=SciChart on where you can earn rep for your questions!

Please note: SciChart team will only answer questions from customers with active support subscriptions. Expired support questions will be ignored. If your support status shows incorrectly, contact us and we will be glad to help.


Dear all
When the binding data is changed in real time to the ColumnRenderableSeries, the pointer size of the corresponding series is changed to an arbitrary size.
ColumnRenderableSeries wants to know if it can fix the size when the x and z axes are changed in real time.
Or, I want to know if there is a function that can calculate the position of xyz in 3D chart and adjust the height of the corresponding pointer.

Thank you for your reply.

  • Andrew
    How did you make this? Got a code sample?
  • You must to post comments


<s3D:SciChart3DSurface x:Name="sciChart" Grid.Column="1" BorderThickness="0" RenderableSeries="{Binding RenderableSeries}" WorldDimensions="400,200,400" IsXyzGizmoVisible="False" IsFpsCounterVisible="False" >




public ObservableCollection<IRenderableSeries3D> RenderableSeries
            if (_renderableSeries == null)
                _renderableSeries = new ObservableCollection<IRenderableSeries3D>();

                ColumnRenderableSeries3D trackSeries = new ColumnRenderableSeries3D();
                trackSeries.SetBinding(ColumnRenderableSeries3D.DataSeriesProperty, "Model.DataSeriesFrontTrack");
                trackSeries.ColumnShape = typeof(CubePointMarker3D);
                trackSeries.DataPointWidthX = 0.5;

            return _renderableSeries;


Model.DataSeriesFrontTrack.Append(Convert.ToSingle(data.DisX), (float)1, Convert.ToSingle(data.DisY), new PointMetadata3D(Colors.Green, 10, false, data));


var trackIdList = dataSeries.WValues.Select(x => ((CANViewTrackModel)((PointMetadata3D)x).Tag).MessageName).ToList();

        if (trackIdList.Contains(data.MessageName))
            dataSeries.XValues[trackIdList.IndexOf(data.MessageName)] = Convert.ToSingle(data.DisX);                
            dataSeries.ZValues[trackIdList.IndexOf(data.MessageName)] = Convert.ToSingle(data.DisY);
            return true;

        return false;

I want to control the size of the pointer to a fixed value when I repeat the Update operation.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.