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 Stackoverflow.com where you can earn rep for your questions!

0
0

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.

Version
v5.0
Images
  • Andrew
    How did you make this? Got a code sample?
  • You must to post comments
0
0

View

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

.......

</s3D:SciChart3DSurface>

ViewModel

public ObservableCollection<IRenderableSeries3D> RenderableSeries
    {
        get
        {
            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;
                _renderableSeries.Add(trackSeries);                    


            }
            return _renderableSeries;
        }
    }

DataAppend

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

DataUpdate

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);
            dataSeries.InvalidateParentSurface(RangeMode.None);
            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.