Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 活动图表:绘制轴线_Wpf_Livecharts - Fatal编程技术网

Wpf 活动图表:绘制轴线

Wpf 活动图表:绘制轴线,wpf,livecharts,Wpf,Livecharts,我正在使用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"> <

我正在使用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年有报道称:

我已经尝试在Y轴的适当点(下面的XAML代码)添加一个部分,结果看起来不错,但确切的点必须动态确定

<lvc:Axis.Sections>
    <lvc:AxisSection Value="-6.45" StrokeThickness="1"  Stroke="CadetBlue"/>
</lvc:Axis.Sections>


因此,总而言之,我对实现这一点的最佳方法有点不知所措,非常感谢您的帮助。

这不是最好的解决方案,但您可以做的是使用分隔符而不是节,并将步长设置为一个值,以确保分隔符正好位于图表的顶部和底部。但我知道这和你发现的有点相似

<lvc:Axis.Separator>
    <lvc:Separator StrokeThickness="1" Stroke="CadetBlue" Step="100"/>
</lvc:Axis.Separator>

嗨,我也在寻找同样的答案。甚至在live chart论坛上看到了你的帖子。但仍然没有找到任何答案。目前,我正在使用剖面来标记轴线。 如果有人需要的话。这是我用过的

<LiveChart:Axis.Sections>
       <LiveChart:AxisSection Value="{Binding XAxisMinValue}" Stroke="Black" StrokeThickness="1"/>
</LiveChart:Axis.Sections>

其中,最小值是图表中p[loting开始的最小点。我尝试了一些轨迹,并将其设为“0”,以便在轴上绘制一条线。 希望帮助某人