代码之家  ›  专栏  ›  技术社区  ›  user8144524

LiveCharts:如何在列序列wpf中绘制倾斜数据(即指数y轴)

  •  1
  • user8144524  · 技术社区  · 7 年前

    如何在列序列中以指数方式设置Y轴间隔?

    new ColumnSeries
    {
         Fill = new SolidColorBrush(Color.FromRgb(30,130,173)),
         Width = 100,
         MaxColumnWidth = 100,
         Values = new ChartValues<double> {500,30,10},
         DataLabels = true,
         LabelPoint  = point => point.Y +"",
         FontSize = 20
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   AlBal    7 年前

    你可以用对数刻度来配置你的y轴——Live Charts网站上有关于如何配置的说明 https://lvcharts.net/App/examples/v1/wpf/Logarithmic%20Scale

    下面是一个适用于专栏系列的示例:

    public SeriesCollection SeriesCollection { get; set; }
    
    public MainWindow()
    {
        InitializeComponent();
    
        var mapper = Mappers.Xy<double>()
                        .X((value, index) => index)
                        .Y((value, index) => Math.Log(value, 10));
    
        SeriesCollection = new SeriesCollection(mapper)
        {
            new ColumnSeries
            {
                Values = new ChartValues<double>{500,30,10}
            }
        };
    
        DataContext = this;
    }
    

    和XAML:

    <Grid>
        <lvc:CartesianChart Series="{Binding SeriesCollection}">
            <lvc:CartesianChart.AxisY>
                <lvc:LogarithmicAxis Base="10" />
            </lvc:CartesianChart.AxisY>
        </lvc:CartesianChart>
    </Grid>
    

    Column series with log scale