c# Winform Chart基础入门 功能–如何添加 Chart 图表

额外参考链接:http://www.cnblogs.com/greenerycn/archive/2008/10/27/microsoft-chart.html

首先添加引用System.Windows.Forms.DataVisualization,添加引用后,工具面板上将在数据中显示Chart,可直接拖拽到界面上。

代码中添加 Using System.Windows.Forms.DataVisualization.Charting;

1. 当拖拽Chart到界面上时,一般来说Chart及其ChartAreas、Legend部分的背景为白色,我们可以分别通过各自的BackColor设置为透明或其他颜色。

通过设置Series的ChartType属性来选择图表类型,一般常用:折线Line,柱状图Column,饼状图Pie,雷达图Redar等等。

2. 设置ChartAreas属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ct.ChartAreas.Add(new ChartArea() { Name = "ca1" }); //背景框
ct.ChartAreas[0].Axes[0].MajorGrid.Enabled = false; //X轴上网格
ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false; //y轴上网格
ct.ChartAreas[0].Axes[0].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //网格类型 短横线
ct.ChartAreas[0].Axes[0].MajorGrid.LineColor = Color.Gray;
ct.ChartAreas[0].Axes[0].MajorTickMark.Enabled = false; // x轴上突出的小点
ct.ChartAreas[0].Axes[1].MajorTickMark.Enabled = false; //
ct.ChartAreas[0].Axes[1].IsInterlaced = true; //显示交错带
ct.ChartAreas[0].Axes[0].LabelStyle.Format = "#年"; //设置X轴显示样式
ct.ChartAreas[0].Axes[1].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //网格类型 短横线
ct.ChartAreas[0].Axes[1].MajorGrid.LineColor = Color.Blue;
ct.ChartAreas[0].Axes[1].MajorGrid.LineWidth = 3;

ct.ChartAreas[0].BackColor = System.Drawing.Color.Transparent; //设置区域内背景透明

3. 设置值Series

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//添加的两组Test数据
List<int> txData2 = new List<int>() { 2011, 2012, 2013, 2014, 2015, 2016 };
List<int> tyData2 = new List<int>() { 9, 6, 7, 4, 5, 4 };
List<int> txData3 = new List<int>() { 2012 };
List<int> tyData3 = new List<int>() { 7 };

ct.Series.Add(new Series()); //添加一个图表序列
// ct.Series[0].XValueType = ChartValueType.String; //设置X轴上的值类型
ct.Series[0].Label = "#VAL"; //设置显示X Y的值
ct.Series[0].ToolTip = "#VALX年\r#VAL"; //鼠标移动到对应点显示数值
ct.Series[0].ChartArea = ct.ChartAreas[0].Name; //设置图表背景框ChartArea
ct.Series[0].ChartType = SeriesChartType.Line; //图类型(折线)
ct.Series[0].Points.DataBindXY(txData2, tyData2); //添加数据
//折线段配置
ct.Series[0].Color = Color.Red; //线条颜色
ct.Series[0].BorderWidth = 3; //线条粗细
ct.Series[0].MarkerBorderColor = Color.Red; //标记点边框颜色
ct.Series[0].MarkerBorderWidth = 3; //标记点边框大小
ct.Series[0].MarkerColor = Color.Red; //标记点中心颜色
ct.Series[0].MarkerSize = 5; //标记点大小
ct.Series[0].MarkerStyle = MarkerStyle.Circle; //标记点类型

ct.Series.Add(new Series()); //添加一个图表序列
ct.Series[1].Label = "#VAL"; //设置显示X Y的值
ct.Series[1].ToolTip = "#VALX年\r#VAL"; //鼠标移动到对应点显示数值
ct.Series[1].ChartArea = "ca1"; //选择显示的ChartArea ,如果和其他的Series选择是同一个ChartArea,则在同一个区域中显示对比
ct.Series[1].ChartType = SeriesChartType.Line; //图类型(折线)
ct.Series[1].Points.DataBindXY(txData3, tyData3); //添加数据
//折线段配置
ct.Series[1].Color = Color.Black; //线条颜色
ct.Series[1].BorderWidth = 3; //线条粗细
ct.Series[1].MarkerBorderColor = Color.Black; //标记点边框颜色
ct.Series[1].MarkerBorderWidth = 3; //标记点边框大小
ct.Series[1].MarkerColor = Color.Black; //标记点中心颜色
ct.Series[1].MarkerSize = 5; //标记点大小
ct.Series[1].MarkerStyle = MarkerStyle.Circle; //标记点类型

4. 其他ChartType的特殊设置

1
2
3
4
5
6
//饼图说明设置,这用来设置饼图每一块的信息显示在什么地方
ct.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧
ct.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。
//柱状图其他设置
ct.Series[0]["DrawingStyle"] = "Emboss"; //设置柱状平面形状
ct.Series[0]["PointWidth"] = "0.5"; //设置柱状大小

5. 几种ChartType展示

img img img img
折线图-Line 柱状图-Column 饼状图-Pie 雷达图-Redar
img img img
Spline Bar Doughnut

C#的CHART 怎么设置不显示格网

方法一:代码设置

使用如下代码:

1
2
3
this.chart1.chartArea[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.Transparent;
this.chart1.chartArea[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.Transparent;

方法二:在属性栏上设置


相关链接(侵删)

  1. c# Winform Chart入门
  2. C#的CHART 怎么设置不显示格网

=================我是分割线=================

欢迎到公众号来唠嗑: