我用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);