根据SciChart 3D Surface 文档,没有任何内容表明您可以在 SurfaceMeshRenderableSeries 上显示 PointMarker。
但是,您可以使用ImpulseRenderableSeries3D实现您想要的相同效果。
![在此处输入图像描述](https://i.stack.imgur.com/lSogn.jpg)
声明图表如下:
<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设置为零以隐藏线条。
此外,在 SciChart 的 v5.1.0.11439 中发现了一个错误,将 StrokeThickness=0 和 Opacity 设置为任何值都会导致 NullReferenceException。这将在 SciChart 的 v5.1.0.11440 夜间版本中得到修复。
您可以从SciChart NuGet 源获取最新版本。