SciChart - 显示所有刻度的标签

SciChart - showing labels for all ticks

我正在修改现有功能以使用 SciChart。我需要生成的图形看起来与原始解决方案相同(或尽可能接近)。 [编辑:由于可能的客户端 IP 问题,不得不编辑图片]

在屏幕截图中,您可以看到我到目前为止(顶部)与旧解决方案(底部)的比较。我在尝试使标签起作用时遇到了困难。

我按照此处所述实施了自定义标签提供程序 http://www.scichart.com/screenshots-xps-printing-x-axis-text-labels/(我基本上只是从那里获取了 CustomLabelProviderClass)我使用与旧解决方案相同的标签列表。你所看到的是我所得到的,使用以下轴属性:

<sci:SciChartSurface.XAxis>
<sci:NumericAxis VisibleRange="0,115" 
DrawMajorGridLines="False" 
DrawMinorGridLines="False" 
LabelProvider ="{Binding LabelProvider}"
TickLabelStyle="{StaticResource AxisLabelStyle}" 
AutoTicks="False" MajorDelta="0.5" 
MinorsPerMajor="1" MinorDelta="0.5" />
</sci:SciChartSurface.XAxis>

旧图表实际上也跳过了一些值(几乎每隔一个,除非我放大)但它仍然以大约两倍于 SciChart 的密度显示它们。有没有办法让 SciChart 的行为相同?

此外,我对标签应用了旋转变换,使它们垂直。如您所见,现在它们粘在了图中。有没有办法把它们往下移一点?

在 SciChart 中,轴会自动剔除距离太近的标签,方法是测量它们并移除备用标签。

您可以通过设置 AxisBase.IsLabelCullingEnabled = false

来禁用此功能
 // C# example
 var numericAxis = new NumericAxis();
 numericAxis.IsLabelCullingEnabled = false

 // XAML Example
 <s:NumericAxis IsLabelCullingEnabled="False"/>