【问题标题】:SciChart - showing labels for all ticksSciChart - 显示所有刻度的标签
【发布时间】:2019-01-17 21:02:01
【问题描述】:

我正在修改现有功能以使用 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


    【解决方案1】:

    在 SciChart 中,轴会自动剔除过近的标签,方法是测量它们并移除替代标签。

    您可以通过设置AxisBase.IsLabelCullingEnabled = false 来禁用此功能

     // C# example
     var numericAxis = new NumericAxis();
     numericAxis.IsLabelCullingEnabled = false
    
     // XAML Example
     <s:NumericAxis IsLabelCullingEnabled="False"/>
    

    【讨论】:

    • 谢谢,解决了!您是否也碰巧知道如何获取轴下方的标签?我已经尝试了我能想到的一切——垂直/水平对齐、锚点、TranslateTransform,我试图以各种方式移动 X 和 Y。我什至尝试通过在字符串中添加大量空格来拉伸标签。没有任何帮助。我尝试过的大多数事情根本没有移动标签。使用 将它们移动了大约 3 毫米 - 方向错误。
    • 我猜(因为您的 AxisLabelStyle 被排除在问题之外)您已经使用 RenderTransform 来旋转标签,但应该使用 LayoutTransform。如果不正确,请另开一个问题!
    • 我确实打开了另一个问题,但你是对的,我确实使用了 RenderTransform,而不是 LayoutTransform。该问题涉及垂直放置,但也涉及标签的水平放置。也许你可以看看它? stackoverflow.com/questions/36688144/…
    • 我刚刚在我们自己的代码中测试了这个,你需要使用 LayoutTransform
    猜你喜欢
    • 2021-11-17
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2020-07-08
    • 2022-01-01
    相关资源
    最近更新 更多