在实时图表的垂直图表中,有没有办法将X轴的起点向右



我用LiveCharts绘制垂直折线图。
我希望右侧的 X 轴上为 0。实现此目的的方法是什么?
(现在 0 在左边,最大值在右边(

我的英语不是很好,所以看看下面的图。

/*
Y:Index, X:Value
@Now
   300|
      |
      |
      |
      |
     0|--------->
      0       65535
@ I want this!!
   300|
      |
      |
      |
      |
     0|--------->
    65535       0
*/

XAML

<lvc:CartesianChart Name="VChart" Background="#222" DisableAnimations="True" Hoverable="False" DataTooltip="{x:Null}" UpdaterState="{Binding ChartUpdaterState}" UseLayoutRounding="True">
    <lvc:CartesianChart.Series>
        <lvc:VerticalLineSeries Values="{Binding VerticalLineChartValues}" StrokeThickness="1" Configuration="{Binding VerticalLineChartConfig}"
                        Stroke="Khaki" Fill="Transparent" LineSmoothness="0" PointGeometry="{x:Null}" />
    </lvc:CartesianChart.Series>
    <lvc:CartesianChart.AxisX>
        <lvc:Axis IsMerged="True">
            <lvc:Axis.Separator>
                <lvc:Separator StrokeThickness="1" StrokeDashArray="2">
                    <lvc:Separator.Stroke>
                        <SolidColorBrush Color="#404F56" />
                    </lvc:Separator.Stroke>
                </lvc:Separator>
            </lvc:Axis.Separator>
        </lvc:Axis>
    </lvc:CartesianChart.AxisX>
    <lvc:CartesianChart.AxisY>
        <lvc:Axis IsMerged="True" Position="LeftBottom">
            <lvc:Axis.Separator>
                <lvc:Separator StrokeThickness="1" StrokeDashArray="4">
                    <lvc:Separator.Stroke>
                        <SolidColorBrush Color="#404F56" />
                    </lvc:Separator.Stroke>
                </lvc:Separator>
            </lvc:Axis.Separator>
        </lvc:Axis>
    </lvc:CartesianChart.AxisY>
</lvc:CartesianChart>

ViewModel.cs

        // Create config
        var vChartConfig = new CartesianMapper<int>();
        vChartConfig.X((value, index) => value);
        vChartConfig.Y((value, index) => index);
        VerticalLineChartConfig = vChartConfig;

谢谢。

这里有

一个答案。

c# 如何使用实时图表反转 Y 轴

就我而言,这样做了。

VChart.AxisX[0].LabelFormatter = x => (x * -1).ToString(CultureInfo.InvariantCulture);
// Flip values
for (var i = 0; i < values.Count; i++)
    values[i] = values[i] * -1;
VerticalLineChartValues.AddRange(values);

相关内容

  • 没有找到相关文章