我正在使用LiveCharts绘制一个行图。
Xaml-代码:
<lvc:CartesianChart Grid.Column="0" Zoom="None" Margin="0,0,0,8" AnimationsSpeed="0" DataTooltip="{x:Null}">
<lvc:CartesianChart.Resources>
<Style TargetType="lvc:Separator">
<Setter Property="Stroke" Value="CadetBlue" />
<Setter Property="StrokeThickness" Value="0.4" />
</Style>
</lvc:CartesianChart.Resources>
<lvc:CartesianChart.Series>
<lvc:RowSeries Name="AlarmTypeSeries" Values="{Binding AlarmTypeHistogramValues}" Configuration="{Binding AlarmTypeHistogramMapper}" />
</lvc:CartesianChart.Series>
<lvc:CartesianChart.AxisX>
<lvc:Axis Name="XAxis" MinValue="0" MaxValue="{Binding MaxXAxisValue}" FontSize="13.3" Title="Alarmanzahl"/>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis Name="YAxis" MinValue="-7" MaxValue="1" ShowLabels="False" />
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>生成的图形在下图中的左侧。

我想要实现的是绘制X轴,从而产生类似于右侧的图形。
我会假设轴是自动绘制的,但可能我遗漏了什么。
显然,LiveCharts中有一个bug可以解释这种行为,但它是在2016年报告的:https://github.com/beto-rodriguez/Live-Charts/issues/142
我已经尝试在Y轴的适当位置添加一个Section (下面的XAML-Code),结果看起来不错,但确切的点必须动态确定。
<lvc:Axis.Sections>
<lvc:AxisSection Value="-6.45" StrokeThickness="1" Stroke="CadetBlue"/>
</lvc:Axis.Sections>所以,总而言之,我对做这件事的最好方法有点一无所知,我非常感谢你的每一个帮助。
发布于 2018-08-08 13:57:56
嗨,我也在寻找同样的答案。甚至在实时排行榜论坛上看到了你的帖子。但是仍然没有找到任何答案。目前,我正在使用一个截面来标记轴线。如果有人需要的话。这就是我所使用的。
<LiveChart:Axis.Sections>
<LiveChart:AxisSection Value="{Binding XAxisMinValue}" Stroke="Black" StrokeThickness="1"/>
</LiveChart:Axis.Sections>其中最小值是我的图表中p[loting开始的最小点数。我尝试了几个轨迹,并将其设置为"0“,这样就可以在轴上画一条线。希望可以帮助某些人。
发布于 2018-03-09 21:14:40
这并不是最好的解决方案,但您可以做的是使用Separator而不是Sections,并将Step设置为一个值,以确保Separator正好位于图形的顶部和底部。但我知道这和你发现的有些相似。
<lvc:Axis.Separator>
<lvc:Separator StrokeThickness="1" Stroke="CadetBlue" Step="100"/>
</lvc:Axis.Separator>https://stackoverflow.com/questions/49028020
复制相似问题