winform程序中chart圖的使用經驗(chart圖的更新)
- 如何讓chart圖進行刷新並且根據數值重新繪制
首先初始化一個chart
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 // 圖示上的文字 4series.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 }
- time和value是怎麽回事?
這是給chart賦值的過程;
首先有一個模型類
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 }
- C#獲取年份
DateTime.Now.Year.ToString(); 獲取年份 // 2008
DateTime.Now.ToString(); // 2008-9-4 20:02:10
DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04
DateTime.Now.Month.ToString(); 獲取月份 // 9
DateTime.Now.DayOfWeek.ToString(); 獲取星期 // Thursday
DateTime.Now.DayOfYear.ToString(); 獲取第幾天 // 248
- c#如何讓chart中的每個橫坐標都顯示
首先,通過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; //設置是否交錯顯示,比如數據多的時間分成兩行來顯示
winform程序中chart圖的使用經驗(chart圖的更新)