C#曲线图柱状图和折线图,用了2个chart控件实现

该博客分享了如何在C#中利用代码方式设置Chart控件,创建曲线图和柱状图。通过在窗体上添加Chart控件并编写相关代码,详细展示了绘制这两种图表的步骤。
chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
                chart1.ChartAreas[0].AxisX.Interval = 1;?? //设置X轴坐标的间隔为1
                chart1.ChartAreas[0].AxisX.IntervalOffset = 1;? //设置X轴坐标偏移为1
                chart1.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;
                for (int n = 12; n < dt.Columns.Count-2; n++)
                {
                    if (dt.Rows[dt.Rows.Count - 1][n].ToString() != null && dt.Rows[dt.Rows.Count - 1][n].ToString() != "")
                    {
                        chart1.Series[0].Points.AddXY(dt.Columns[n].ColumnName, dt.Rows[dt.Rows.Count - 1][n].ToString());
                        chart1.Series[0].IsValueShownAsLabel = true;                        
                    }
                }


                //chart2
                DataRow dr2 = dt.NewRow();
                List<string> list = new List<string>();
                double bll = 0;
                index = 12;
                for (int j = 12; j < dt.Columns.Count; j++)
                {
                    if (dt.Rows[dt.Rows.Count - 1][j].ToString().Trim() != "")
                        bll = double.Parse(dt.Rows[dt.Rows.Count - 1][j].ToString().Trim()) * 1.0 / double.Parse(dt.Rows[dt.Rows.Count - 1][8].ToString().Trim());
                    list.Add(bll.ToString());//list.Add(bll.ToString());//list.Add(Math.Round(bll * 100, 2).ToString())
                    index++;
                }
                dt.Rows.Add(dr2);

                chart2.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
                chart2.ChartAreas[0].AxisX.Interval = 1;?? //设置X轴坐标的间隔为1
                chart2.ChartAreas[0].AxisX.IntervalOffset = 1;? //设置X轴坐标偏移为1
                chart2.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;
                chart2.ChartAreas[0].AxisY.LabelStyle.Format = "0.00%";

                chart2.Series[0].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
                chart2.Series[0].IsValueShownAsLabel = true;//显示标签
                chart2.ChartAreas[0].BackColor = Color.White;//设置背景为白色
                //chart2.ChartAreas[0].Area3DStyle.Enable3D = true;//设置3D效果
                //chart2.ChartAreas[0].Area3DStyle.PointDepth =
                //chart2.ChartAreas[0].Area3DStyle.PointGapDepth = 50;//设置一下深度,看起来舒服点……
                //chart2.ChartAreas[0].Area3DStyle.WallWidth = 0;//设置墙的宽度为0;
                // 宽度
                chart2.Series[0].BorderWidth = 2;
                // 颜色
                chart2.Series[0].Color = Color.Red;

                int r = 0;
                for (int n = 12; n < dt.Columns.Count - 2; n++)
                {
                    if (list[r] != null && list[r] != "")
                    {
                        chart2.Series[0].Points.AddXY(dt.Columns[n].ColumnName, list[r]);
                        chart2.Series[0].IsValueShownAsLabel = true;
                    }
                    r++;
                }

 

以下转载自:https://blog.youkuaiyun.com/luckypeng/article/details/18043421

这次所有属性设置都用代码(就当整理便于以后查询)。
在窗体放置一个Chart控件,未做任何设置;然后编写代码:

//设置
chart2.Legends[0].Enabled = false;//不显示图例

chart2.ChartAreas[0].BackColor = Color.White;//设置背景为白色

chart2.ChartAreas[0].Area3DStyle.Enable3D = true;//设置3D效果
chart2.ChartAreas[0].Area3DStyle.PointDepth = 
chart2.ChartAreas[0].Area3DStyle.PointGapDepth = 50;//设置一下深度,看起来舒服点……
chart2.ChartAreas[0].Area3DStyle.WallWidth = 0;//设置墙的宽度为0;

chart2.ChartAreas[0].AxisY.LabelStyle.Format = "0%";//格式化,为了显示百分号
chart2.ChartAreas[0].AxisY.Interval = 0.05;//设置刻度间隔为5%
chart2.ChartAreas[0].AxisX.MajorGrid.Enabled =
chart2.ChartAreas[0].AxisY.MajorGrid.Enabled = false;//不显示网格线

chart2.ChartAreas[0].AxisX.Minimum = 0.5;//设置最小值,为了让第一个柱紧挨坐标轴

chart2.Series[0].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].IsValueShownAsLabel = true;//显示标签

chart2.Series[0].CustomProperties = "DrawingStyle=Cylinder, PointWidth=1";//设置为圆柱形 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.Pastel;//设置调色板

//数据
chart2.Series[0].Points.AddXY("<10",0.201);
chart2.Series[0].Points.AddXY("10~20", 0.395);
chart2.Series[0].Points.AddXY("20~30", 0.173);
chart2.Series[0].Points.AddXY("30~40", 0.136);
chart2.Series[0].Points.AddXY("40~50", 0.059);
chart2.Series[0].Points.AddXY("50~60", 0.015);
chart2.Series[0].Points.AddXY(">60", 0.022);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值