首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LiveCharts:绘制轴线

LiveCharts:绘制轴线
EN

Stack Overflow用户
提问于 2018-02-28 19:02:46
回答 2查看 3.7K关注 0票数 2

我正在使用LiveCharts绘制一个行图。

Xaml-代码:

代码语言:javascript
复制
<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),结果看起来不错,但确切的点必须动态确定。

代码语言:javascript
复制
<lvc:Axis.Sections>
    <lvc:AxisSection Value="-6.45" StrokeThickness="1"  Stroke="CadetBlue"/>
</lvc:Axis.Sections>

所以,总而言之,我对做这件事的最好方法有点一无所知,我非常感谢你的每一个帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-08-08 13:57:56

嗨,我也在寻找同样的答案。甚至在实时排行榜论坛上看到了你的帖子。但是仍然没有找到任何答案。目前,我正在使用一个截面来标记轴线。如果有人需要的话。这就是我所使用的。

代码语言:javascript
复制
<LiveChart:Axis.Sections>
       <LiveChart:AxisSection Value="{Binding XAxisMinValue}" Stroke="Black" StrokeThickness="1"/>
</LiveChart:Axis.Sections>

其中最小值是我的图表中p[loting开始的最小点数。我尝试了几个轨迹,并将其设置为"0“,这样就可以在轴上画一条线。希望可以帮助某些人。

票数 1
EN

Stack Overflow用户

发布于 2018-03-09 21:14:40

这并不是最好的解决方案,但您可以做的是使用Separator而不是Sections,并将Step设置为一个值,以确保Separator正好位于图形的顶部和底部。但我知道这和你发现的有些相似。

代码语言:javascript
复制
<lvc:Axis.Separator>
    <lvc:Separator StrokeThickness="1" Stroke="CadetBlue" Step="100"/>
</lvc:Axis.Separator>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49028020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档