C# chart控件基础使用
基本介紹:chart(圖表)
功能:主要用來(lái)繪制折線圖,柱狀圖與餅狀圖,也可達(dá)到動(dòng)態(tài)效果(例如作示波器);
需要說(shuō)明
?一個(gè)chart可以包含多個(gè)chartArea。 chartArea是具體的坐標(biāo)區(qū)域。?每一個(gè)chartArea主要包含X軸,Y軸,副X軸(上方),副Y軸(右方),綁定的線條,綁定的圖例。??數(shù)據(jù)列可以有許多,只要將線條綁定到chartArea就可以在對(duì)應(yīng)的chartArea顯示。
關(guān)于chart類(lèi)的官方文檔:
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ù)儲(chǔ)存在series類(lèi)中,對(duì)數(shù)據(jù)的操作也集成在series類(lèi)下。
具體請(qǐng)參照官方series類(lèi)說(shuō)明:
https://msdn.microsoft.com/zh-cn/library/system.windows.forms.datavisualization.charting.series(v=vs.100).aspx
?
chart的使用:
????????????? ? chart控件的基本使用包括:
????????????????????????????????????????????????????? 1.設(shè)置圖表基本屬性,包括背景色,樣式等 (必要)
????????????????????????????????????????????????????? 2.設(shè)置圖表標(biāo)題及其格式
????????????????????????????????????????????????????? 3.設(shè)置X軸Y軸相關(guān)屬性
????????????????????????????????????????????????????? 4.設(shè)置圖例相關(guān)屬性
????????????????????????????????????????????????????? 5.數(shù)據(jù)列設(shè)置(必要)
????????????????????????????????????????????????????? 6.添加數(shù)據(jù)列,并設(shè)置繪圖類(lèi)型(必要)
一個(gè)實(shí)例:
??????????? #region 設(shè)置圖表的屬性
??????????? //圖表的背景色
??????????? 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 設(shè)置圖表的Title
??????????? Title title = newTitle();
??????????? //標(biāo)題內(nèi)容
??????????? title.Text = "BER";
??????????? //標(biāo)題的字體
??????????? title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12, FontStyle.Regular);
??????????? //標(biāo)題字體顏色
??????????? //title.ForeColor = Color.FromArgb(26, 59, 105);
??????????? //標(biāo)題陰影顏色
??????????? //title.ShadowColor = Color.FromArgb(32, 0, 0, 0);
??????????? //標(biāo)題陰影偏移量
??????????? //title.ShadowOffset = 3;
?
??????????? chart1.Titles.Add(title);
??????????? #endregion
?
??????????? #region 設(shè)置圖表區(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;
?
??????????? //設(shè)置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;
?
??????????? //設(shè)置X軸和Y軸的標(biāo)題
??????????? //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);
?
??????????? //設(shè)置圖表區(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ù)點(diǎn)設(shè)置:
Series series = new Series(string.Format("Ch{0}", i + 1));
?
??????????? //Series的類(lèi)型
??????????? 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ù)說(shuō)明
??????????? series.IsVisibleInLegend= true;
??????????? //線條上數(shù)據(jù)點(diǎn)上是否有數(shù)據(jù)顯示
???????????series.IsValueShownAsLabel = false;
??????????? //線條上的數(shù)據(jù)點(diǎn)標(biāo)志類(lèi)型
??????????? series.MarkerStyle =MarkerStyle.None;
??????????? //線條數(shù)據(jù)點(diǎn)的大小
??????????? //series.MarkerSize= 8;
?繪制圖表/折線:
//添加數(shù)據(jù)點(diǎn)
??????????????? this.chart1.Series.Add(series);
//使用折線圖
??????????????? this.chart1.Series.ChartType = SeriesChartType.Line;
?
總結(jié)
以上是生活随笔為你收集整理的C# chart控件基础使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Deno 兼容浏览器具体指的是什么?
- 下一篇: centos7下安装gcc7