Можно ли отобразить маркер точки данных в SurfaceMeshRenderableSeries3D? - PullRequest
0 голосов
/ 17 мая 2018

кажется, что добавление следующего XAML в SurfaceMeshRenderableSeries3D не имеет никакого эффекта:

<s3D:SurfaceMeshRenderableSeries3D.PointMarker>
  <s3D:SpherePointMarker3D Size="0.3"/>
</s3D:SurfaceMeshRenderableSeries3D.PointMarker>

Кроме того, добавление ControlTemplate не работает:

<ControlTemplate x:Key="marker">
     <s3D:SpherePointMarker3D Fill="Red" Size="0.5"/>
</ControlTemplate>

...PointMarkerTemplate="{StaticResource marker}...

Добавление ScatterRenderableSeries3D с такими же данными показывает маркер наТочки данных.Но мы планируем объединить несколько 3DMeshSeries с несколькими 3DLineSeries в трехмерной диаграмме.Дополнительные серии для каждой сетки удваивают количество требуемых серий.Это делает обработку рядов очень сложной в случае изменения точек данных.

Можно ли добавить маркер точки данных для отображения на SurfaceMeshRenderableSeries3D без добавления дополнительного ScatterRenderableSeries3D к каждой серии мешей?

Скачать решение

1 Ответ

0 голосов
/ 18 мая 2018

Согласно документации SciChart 3D Surface там нет ничего, что можно было бы предложить, чтобы вы могли показать PointMarker на SurfaceMeshRenderableSeries.

Однако вы можете добиться того же эффекта, что и вы, используя ImpulseRenderableSeries3D .

enter image description here

Объявите диаграмму следующим образом:

<s3D:SciChart3DSurface x:Name="SciChart"
                       BorderThickness="0"
                       WorldDimensions="200,100,200">
    <s3D:SciChart3DSurface.RenderableSeries>
        <s3D:SurfaceMeshRenderableSeries3D x:Name="surfaceMeshRenderableSeries"
                                        DrawMeshAs="SolidWireFrame"
                                        Stroke="#77228B22"
                                        ContourStroke="#77228B22"
                                        StrokeThickness="2.0"
                                        DrawSkirt="False"
                                        Opacity="0.9">
           <s3D:SurfaceMeshRenderableSeries.MeshColorPalette>
              <s3D:GradientColorPalette>
                  <s3D:GradientColorPalette.GradientStops>
                     <GradientStop Offset="1" Color="DarkRed"/>
                     <GradientStop Offset="0.9" Color="Red"/>
                     <GradientStop Offset="0.7" Color="Yellow"/>
                     <GradientStop Offset="0.5" Color="GreenYellow"/>
                     <GradientStop Offset="0.3" Color="Cyan"/>
                     <GradientStop Offset="0.1" Color="Blue"/>
                     <GradientStop Offset="0.0" Color="#1D2C6B"/>
                  </s3D:GradientColorPalette.GradientStops>
              </s3D:GradientColorPalette>
           </s3D:SurfaceMeshRenderableSereis.MeshColorPalette>
        </s3D:SurfaceMeshRenderableSeries3D>
        <s3D:ImpulseRenderableSeries3D x:Name="ImpulseSeries3D"
                                       StrokeThickness="0">
            <s3D:ImpulseRenderableSeries3D.PointMarker>
                <s3D:SpherePointMarker3D Fill="Blue" Size="4.0" Opacity="1"/>
            </s3D:ImpulseRenderableSeries3D.PointMarker>
        </s3D:ImpulseRenderableSeries3D>
    </s3D:SciChart3DSurface.RenderableSeries>
    <s3D:SciChart3DSurface.XAxis>
        <s3D:NumericAxis3D />
    </s3D:SciChart3DSurface.XAxis>
    <s3D:SciChart3DSurface.YAxis>
        <s3D:NumericAxis3D VisibleRange="0, 0.5"/>
    </s3D:SciChart3DSurface.YAxis>
    <s3D:SciChart3DSurface.ZAxis>
        <s3D:NumericAxis3D />
    </s3D:SciChart3DSurface.ZAxis>
</s3D:SciChart3DSurface>

Установив одинаковые наборы данных в ImpulseRenderableSeries3D и SurfaceMeshRenderableSeries3D, вы получите маркеры точек, появляющиеся в координатах сетки.

Редактировать: Обновить

Обратите внимание, что я установил ImpulseRenderableSeries3D.StrokeThickness на ноль, чтобы скрыть строки.

Также была обнаружена ошибка в v5.1.0.11439 SciChart, где установка StrokeThickness = 0 и непрозрачности для любого значения вызывала исключение NullReferenceException. Это будет исправлено в ночной сборке SciChart v5.1.0.11440.

Последние версии можно получить из ленты SciChart NuGet .

...