C# chart控件基础使用
基本介紹:chart(圖表)
功能:主要用來繪制折線圖,柱狀圖與餅狀圖,也可達到動態(tài)效果(例如作示波器);
需要說明
?一個chart可以包含多個chartArea。 chartArea是具體的坐標區(qū)域。?每一個chartArea主要包含X軸,Y軸,副X軸(上方),副Y軸(右方),綁定的線條,綁定的圖例。??數(shù)據(jù)列可以有許多,只要將線條綁定到chartArea就可以在對應的chartArea顯示。
關(guān)于chart類的官方文檔:
https://msdn.microsoft.com/zh-cn/library/system.windows.forms.datavisualization.charting.chart(v=vs.110).aspx#%E5%B1%9E%E6%80%A7
?
?chart中所有數(shù)據(jù)儲存在series類中,對數(shù)據(jù)的操作也集成在series類下。
具體請參照官方series類說明:
https://msdn.microsoft.com/zh-cn/library/system.windows.forms.datavisualization.charting.series(v=vs.100).aspx
?
chart的使用:
????????????? ? chart控件的基本使用包括:
????????????????????????????????????????????????????? 1.設置圖表基本屬性,包括背景色,樣式等 (必要)
????????????????????????????????????????????????????? 2.設置圖表標題及其格式
????????????????????????????????????????????????????? 3.設置X軸Y軸相關(guān)屬性
????????????????????????????????????????????????????? 4.設置圖例相關(guān)屬性
????????????????????????????????????????????????????? 5.數(shù)據(jù)列設置(必要)
????????????????????????????????????????????????????? 6.添加數(shù)據(jù)列,并設置繪圖類型(必要)
一個實例:
??????????? #region 設置圖表的屬性
??????????? //圖表的背景色
??????????? chart1.BackColor = Color.FromArgb(211, 223, 240);
??????????? //圖表背景色的漸變方式
??????????? chart1.BackGradientStyle = GradientStyle.None;
??????????? //圖表的邊框顏色、
??????????? chart1.BorderlineColor = Color.FromArgb(26, 59, 105);
??????????? //圖表的邊框線條樣式
??????????? chart1.BorderlineDashStyle = ChartDashStyle.Solid;
??????????? //圖表邊框線條的寬度
??????????? chart1.BorderlineWidth = 2;
??????????? //圖表邊框的皮膚
??????????? chart1.BorderSkin.SkinStyle = BorderSkinStyle.None;
??????????? #endregion
?
??????????? #region 設置圖表的Title
??????????? Title title = newTitle();
??????????? //標題內(nèi)容
??????????? title.Text = "BER";
??????????? //標題的字體
??????????? title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12, FontStyle.Regular);
??????????? //標題字體顏色
??????????? //title.ForeColor = Color.FromArgb(26, 59, 105);
??????????? //標題陰影顏色
??????????? //title.ShadowColor = Color.FromArgb(32, 0, 0, 0);
??????????? //標題陰影偏移量
??????????? //title.ShadowOffset = 3;
?
??????????? chart1.Titles.Add(title);
??????????? #endregion
?
??????????? #region 設置圖表區(qū)屬性
??????????? //圖表區(qū)的名字
??????????? ChartArea chartArea =new ChartArea("Default");
??????????? //背景色
??????????? chartArea.BackColor = Color.White;//Color.FromArgb(64, 165, 191, 228);
??????????? //背景漸變方式
??????????? chartArea.BackGradientStyle = GradientStyle.None;
??????????? //漸變和陰影的輔助背景色
??????????? chartArea.BackSecondaryColor = Color.White;
??????????? //邊框顏色
???????? ???chartArea.BorderColor = Color.Blue;
??????????? //邊框線條寬度
??????????? chartArea.BorderWidth = 2;
??????????? //邊框線條樣式
??????????? chartArea.BorderDashStyle = ChartDashStyle.Solid;
??????????? //陰影顏色
??????????? //chartArea.ShadowColor = Color.Transparent;
?
??????????? //設置X軸和Y軸線條的顏色和寬度
??????????? chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
??????????? chartArea.AxisX.LineWidth = 1;
??????????? chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
??????????? chartArea.AxisY.LineWidth = 1;
?
??????????? //設置X軸和Y軸的標題
??????????? //chartArea.AxisX.Title = "time";
??????????? //chartArea.AxisY.Title = "count";
??????????? //chartArea.AxisX.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular);
??????????? //chartArea.AxisY.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular);
?
??????????? //設置圖表區(qū)網(wǎng)格橫縱線條的顏色和寬度
??????????? chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
??????????? chartArea.AxisX.MajorGrid.LineWidth = 1;
??????????? chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
??????????? chartArea.AxisY.MajorGrid.LineWidth = 1;?????????
?
??????????? chart1.ChartAreas.Add(chartArea);
??????????? #endregion
?
??????????? #region 圖例及圖例的位置
??????????? Legend legend = newLegend();
??????????? legend.Alignment = StringAlignment.Center;
??????????? legend.Docking = Docking.Bottom;
??????????? legend.BackColor = Color.Transparent;
?
??????????? this.chart1.Legends.Add(legend);
??????????? #endregion
?數(shù)據(jù)點設置:
Series series = new Series(string.Format("Ch{0}", i + 1));
?
??????????? //Series的類型
??????????? series.ChartType =SeriesChartType.Line;
??????????? //Series的邊框顏色
??????????? series.BorderColor =Color.FromArgb(180, 26, 59, 105);
??????????? //線條寬度
??????????? series.BorderWidth = 3;
??????????? //線條陰影顏色
??????????? //series.ShadowColor= Color.Black;
??????????? //陰影寬度
??????????? //series.ShadowOffset= 2;
??????????? //是否顯示數(shù)據(jù)說明
??????????? series.IsVisibleInLegend= true;
??????????? //線條上數(shù)據(jù)點上是否有數(shù)據(jù)顯示
???????????series.IsValueShownAsLabel = false;
??????????? //線條上的數(shù)據(jù)點標志類型
??????????? series.MarkerStyle =MarkerStyle.None;
??????????? //線條數(shù)據(jù)點的大小
??????????? //series.MarkerSize= 8;
?繪制圖表/折線:
//添加數(shù)據(jù)點
??????????????? this.chart1.Series.Add(series);
//使用折線圖
??????????????? this.chart1.Series.ChartType = SeriesChartType.Line;
?
總結(jié)
以上是生活随笔為你收集整理的C# chart控件基础使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deno 兼容浏览器具体指的是什么?
- 下一篇: centos7下安装gcc7