首先初始化一个chartc#
1 chart1.Titles.Add("柱状图数据分析"); 2 chart1.ChartAreas[0].AxisX.Title = "时间(月)"; 3 chart1.ChartAreas[0].AxisY.Title = "单位(元)"; 4 //chart1 5 Series series = chart1.Series["Series1"]; 6 series.LegendText = "销售分析"; 7 chart1.DataSource = list; 8 series.XValueMember = "time"; 9 series.YValueMembers = "value";
进行从新绘制编辑器
1 chart1.Series["Series1"].Points.Clear();//清除以前的图 2 Series series = chart1.Series["Series1"]; 3 // 图示上的文字 4 series.LegendText = "销售分析"; 5 //InitializeComponent(); 6 //获取当前年份查询 7 List<LirunModel> list = new LirunDao().getList(year,type); 8 if (list != null) 9 { 10 chart1.DataSource = list; 11 series.XValueMember = "time"; 12 series.YValueMembers = "value"; 13 }
这是给chart赋值的过程;spa
首先有一个模型类code
class LirunModel { private double _value; public double Value { get { return _value; } set { _value = value; } } private string _time; public string Time { get { return _time; } set { _time = value; } } }
而后用一个List保存多个模型类的对象,最后经过这个list给chart的横纵坐标赋值。对象
1 //年份和类型 1是销售额 2是利润 2 public List<LirunModel> getList(int year,int type) 3 { 4 List<LirunModel> list=new List<LirunModel>(); 5 6 LirunModel m=null; 7 for (int i = 1; i < 13; i++) 8 { 9 m = new LirunModel(); 10 m.Time = i + "月"; 11 if (type == 1) 12 { 13 m.Value = getInByMonth(i, year); 14 } 15 else if (type == 2) 16 { 17 m.Value = getInByMonth(i, year) - getOutByMonth(i, year); 18 } 19 list.Add(m); 20 } 21 return list; 22 }
DateTime.Now.Year.ToString(); 获取年份 // 2008blog
DateTime.Now.ToString(); // 2008-9-4 20:02:10get
DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04数据分析
DateTime.Now.Month.ToString(); 获取月份 // 9string
DateTime.Now.DayOfWeek.ToString(); 获取星期 // Thursdayit
DateTime.Now.DayOfYear.ToString(); 获取第几天 // 248
首先,经过chart空间属性,找到 “ChartAreas集合” ,而且点开
因而来到了ChartAreas集合编辑器,在右边ChartAreas1属性中找到 “Axes集合",并点开,如图
由于咱们要设置的是x轴,因此在 ”Axis集合编辑器“ 左边中选 ”x axis“,
在右边属性中选择 ”IntervalAutoMode“ 在下来项中选中 ”VariableCount“,设定x轴的间隔是可变的,
设定x轴间隔可变
这时,若是x轴标签过多,可能还不会使得x轴标签所有显示出来,这就须要把x轴标签分为上下两层显示
仍是在 ”Axis集合编辑器“ 中找到 ”IsStaggered属性“ 设其值为 ”True“,
在 ”Axis集合编辑器“ 中找到 ”IsStaggered属性“ 设其值为 ”True“,
接着在运行,成功显示x轴所有标签
固然,还有另外一种方法,使x轴标签旋转90度角显示,
在设置x轴可变后,在 ”Axis集合编辑器“ 选中 ”Angle“ 选项,设置值为90,
点击 ”肯定“ 退出设置
或者能够添加这句代码
Chart1.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true; //设置是否交错显示,好比数据多的时间分红两行来显示