C#使用LiveCharts绘制图表

前言

WinForm中有自己的图表控件,在WPF中好像没有了,不过引用这个第三方库,就可以轻松的绘制出漂亮的图表控件了。

1、导入包

使用,搜索LiveCharts.Wpf。进行安装即可。在XAML中添加命名空间 xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"

2、折线图

前台:

  <lvc:CartesianChart x:Name="myChart" Series="{Binding SeriesCollection}">
            <lvc:CartesianChart.AxisX>
                <!--Labels 为图形标签数据-->
                <lvc:Axis Title="库位" Labels="{Binding Labels}"/>
            </lvc:CartesianChart.AxisX>
            <lvc:CartesianChart.AxisY>
                <!--Formatter 为Y轴单位-->
                <lvc:Axis Title="数量" LabelFormatter="{Binding Formatter}"/>
            </lvc:CartesianChart.AxisY>
        </lvc:CartesianChart>

后台:

 SeriesCollection = new SeriesCollection
            {
                new ColumnSeries
                {
                    Title = "大件",
                    Values = new ChartValues<double> { 10, 50, 39, 50,20,11 }
                }
            };

            //adding series will update and animate the chart automatically
            SeriesCollection.Add(new ColumnSeries
            {
                Title = "小件",
                Values = new ChartValues<double> { 11, 56, 42,20,30,40 }
            });

            //also adding values updates and animates the chart automatically
            SeriesCollection[1].Values.Add(48d);

            Labels = new[] { "第一层", "第二层", "第三层", "第四层", "第五层", "第六层" };
            Formatter = value => value.ToString("N");

            DataContext = this;



  // 图形数据属性
        public SeriesCollection SeriesCollection { get; set; }

        // 标签属性
        public string[] Labels { get; set; }

        // Y轴坐标属性
        public Func<double, string> Formatter { get; set; }

 

3、饼图

前台:

    <lvc:PieChart Grid.Column="1" Series="{Binding SeriesCollection2}">
                        </lvc:PieChart>

后台:

4、柱状图

 <lvc:CartesianChart x:Name="myChart" Series="{Binding SeriesCollection}">

                            <lvc:CartesianChart.AxisX>
                                <lvc:Axis Title="检测名称" Labels="{Binding Labels}" />
                            </lvc:CartesianChart.AxisX>
                            <lvc:CartesianChart.AxisY>
                                <lvc:Axis Title="数量" LabelFormatter="{Binding Formatter}" />
                            </lvc:CartesianChart.AxisY>
                        </lvc:CartesianChart>

后台:

 
        // 图形数据属性
        public SeriesCollection SeriesCollection { get; set; }


//条状图数据
            SeriesCollection.Clear();

            ColumnSeries cs1 = new ColumnSeries
            {
                Title = "OK",
                Values = new ChartValues<int>(oks),// { 20, 50, 39, 50, 20, 11 },
                Fill = new SolidColorBrush(Colors.Green)
            };
            SeriesCollection.Add(cs1);

            SeriesCollection.Add(new ColumnSeries
            {
                Title = "NG",
                Values = new ChartValues<int>(ngs),//{ 40, 56, 42, 20, 30, 40 },
                Fill = new SolidColorBrush(Colors.Red)
            });

            Labels.Clear();
            Labels.AddRange(names);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值