9.单柱状图(SingleBarChart)

愿你出走半生,归来仍是少年! 

环境:.NET 7、MAUI 

        话接上回(8.多折线图(MuliLineChart)),从折线图变更为单柱状图。

1.转换出单柱图标的ColumnSeries

    /// 
    /// 转换为单柱状
    /// 
    /// 
    public ColumnSeries ToSingleBar()
    {
        var barSeries = new ColumnSeries()
        {
            Name = Name,

            Values = Datas,
            
            IsHoverable = false,//取消展示Tooltip

            //点上的文本 
            DataLabelsFormatter = (point) => { return Labels[point.Index]; },
            DataLabelsPosition = LiveChartsCore.Measure.DataLabelsPosition.Top,
            DataLabelsSize = 12,
            DataLabelsPaint = new SolidColorPaint(SKColors.Black)
            {
                SKTypeface = SKFontManager.Default.MatchCharacter('汉')
            },

        };

        return barSeries;
    }

2.数据设置

 private void InitValue(BasicSerieDto dto)
 {

     Series = new ISeries[] { dto.ToSingleBar() };

     chart.SetBinding(CartesianChart.SeriesProperty, new Binding("Series"));
 }

3.使用

public partial class SingleBarChartDemo : ContentPage
{
    private class Day
    {
        public string name { get; set; }

        public double Money { get; set; }
    }

    public SingleBarChartDemo()
    {
        InitializeComponent();

        List days = new List();

        for (int i = 0; i < 7; i++)
        {
            days.Add(new Day()
            {
                name = "周" + i,
                Money = (new Random()).NextDouble() * 10000
            });

        }

        chart.BindData("一周营业额", days.Select(p => p.name).ToList(),
            new BasicSerieDto("",
            days.Select(p => p.Money).ToList(),
             days.Select(p => p.name + "\n" + Math.Round(p.Money, 2)).ToList()) 
            );

    }
}

4.效果

单柱状图效果

你可能感兴趣的:(#,Maui基础开发,c#,.net,MAUI)