c# chart
private void button1_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? //using System.Windows.Forms.DataVisualization.Charting;
? ? ? ? ? ? // 設置曲線的樣式
? ? ? ? ? ? series = chart1.Series[0];
? ? ? ? ? ? // 畫樣條曲線(Spline)
? ? ? ? ? ? series.ChartType = SeriesChartType.FastLine;
? ? ? ? ? ? // 線寬2個像素
? ? ? ? ? ? series.BorderWidth = 3;
? ? ? ? ? ? // 線的顏色:紅色
? ? ? ? ? ? series.Color = System.Drawing.Color.Red;
? ? ? ? ? ? // 圖示上的文字
? ? ? ? ? ? series.LegendText = "演示曲線";
? ? ? ? ? ? chart1.ChartAreas["ChartArea1"].AxisX.Title = "時間";
? ? ? ? ? ? chart1.ChartAreas["ChartArea1"].AxisY.Title = "數值";
? ? ? ? ? ? // 準備數據?
? ? ? ? ? ? float[] values = { 95, 30, 20, 23, 60, 87, 42, 77, 92, 51, 29 };
? ? ? ? ? ? // 在chart中顯示數據
? ? ? ? ? ?
? ? ? ? ? ? // 設置顯示范圍
? ? ? ? ? ? ChartArea chartArea = chart1.ChartAreas[0];
? ? ? ? ? ? chartArea.AxisX.Minimum = 0;
? ? ? ? ? ? chartArea.AxisX.Maximum = 10;
? ? ? ? ? ? chartArea.AxisY.Minimum = 0d;
? ? ? ? ? ? chartArea.AxisY.Maximum = 100d;
? ? ? ? ? ? chart1.SaveImage("123.bmp", ChartImageFormat.Bmp);
? ? ? ? ? ? timer1.Interval = 1000;
? ? ? ? ? ? timer1.Enabled = true;
? ? ? ? }
private void timer1_Tick(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? //foreach (float v in values)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? double v;
? ? ? ? ? ? ? ? v = x * 2 + Math.Cos(x);
? ? ? ? ? ? ? ? series.Points.AddXY(x, v);
? ? ? ? ? ? ? ? x++;
? ? ? ? ? ? }
? ? ? ? }
(1)在Visual Studio中新建一個“Windows窗體應用程序”
(2)在Form1上布置一個Chart控件。默認地,Chart控件顯示的是直方圖
?
ing System;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
?
namespace WindowsFormsApplication1
{
? ? public partial class Form1 : Form
? ? {
? ? ? ? public Form1()
? ? ? ? {
? ? ? ? ? ? InitializeComponent();
? ? ? ? ? ? // 設置曲線的樣式
? ? ? ? ? ? Series series = chart1.Series[0];
? ? ? ? ? ? // 畫樣條曲線(Spline)
? ? ? ? ? ? series.ChartType = SeriesChartType.Spline;
? ? ? ? ? ? // 線寬2個像素
? ? ? ? ? ? series.BorderWidth = 2;
? ? ? ? ? ? // 線的顏色:紅色
? ? ? ? ? ? series.Color = System.Drawing.Color.Red;
? ? ? ? ? ? // 圖示上的文字
? ? ? ? ? ? series.LegendText = "演示曲線";
?
? ? ? ? ? ? // 準備數據?
? ? ? ? ? ? float[] values = { 95, 30, 20, 23, 60, 87, 42, 77, 92, 51, 29 };
?
? ? ? ? ? ? // 在chart中顯示數據
? ? ? ? ? ? int x = 0;
? ? ? ? ? ? foreach (float v in values)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? series.Points.AddXY(x, v);
? ? ? ? ? ? ? ? x++;
? ? ? ? ? ? }
?
? ? ? ? ? ? // 設置顯示范圍
? ? ? ? ? ? ChartArea chartArea = chart1.ChartAreas[0];
? ? ? ? ? ? chartArea.AxisX.Minimum = 0;
? ? ? ? ? ? chartArea.AxisX.Maximum = 10;
? ? ? ? ? ? chartArea.AxisY.Minimum = 0d;
? ? ? ? ? ? chartArea.AxisY.Maximum = 100d;
? ? ? ? }
? ? }
}
5)FastLine類型曲線。
在用Chart顯示實時曲線時,常常采用的曲線類型是FastLine。在Form1.cs中修改曲線類型:
?
????????protected void Page_Load(object sender, EventArgs e)
????????{
?
????????????xxw x = getData();
????????????Chart1.DataSource = getlist();
?
????????????#region?圖表樣式
????????????Chart1.BackGradientStyle=?= System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom;//指定圖表元素的漸變樣式(中心向外,從左到右,從上到下等等)
????????????Chart1.BackSecondaryColor = System.Drawing.Color.Yellow;//設置背景的輔助顏色
????????????Chart1.BorderlineColor = System.Drawing.Color.Yellow;//設置圖像邊框的顏色
????????????Chart1.BorderlineDashStyle= ?System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid;//設置圖像邊框線的樣式(實線、虛線、點線)
????????????Chart1.BorderlineWidth = 2;//設置圖像的邊框寬度
????????????Chart1.BorderSkin.SkinStyle= ?System.Windows.Forms.DataVisualization.Charting.BorderSkinStyle.Emboss;//設置圖像的邊框外觀樣式
????????????Chart1.BackColor = System.Drawing.Color.Yellow;//設置圖表的背景顏色
????????????#endregion
?
?
????????????#region?數據樣式
????????????Chart1.Series["Series1"].XValueMember = "name";//設置X軸的數據源
????????????Chart1.Series["Series1"].YValueMembers = "mobile";//設置Y軸的數據源
????????????Chart1.Series["Series2"].XValueMember = "name";
????????????Chart1.Series["Series2"].YValueMembers = "id";
????????????Chart1.Series["Series2"].Color = System.Drawing.Color.Red;//設置顏色
????????????Chart1.Series["Series2"].ChartType= System.Web.UI.DataVisualization.Charting.SeriesChartType.Line;//設置圖表的類型(餅狀、線狀等等)
????????????Chart1.Series["Series1"].IsValueShownAsLabel = true;//設置是否在Chart中顯示坐標點值
????????????Chart1.Series["Series1"].BorderColor = System.Drawing.Color.Red;//設置數據邊框的顏色
????????????Chart1.BackColor = System.Drawing.Color.Red;//設置圖表的背景顏色
????????????Chart1.Series["Series1"].Color = System.Drawing.Color.Black;//設置數據的顏色
????????????Chart1.Series["Series1"].Name = "數據1";//設置數據名稱
????????????Chart1.Series["數據1"].ShadowOffset = 1;//設置陰影偏移量
????????????Chart1.Series["數據1"].ShadowColor = System.Drawing.Color.PaleGreen;//設置陰影顏色
????????????#endregion
?
?
????????????#region?圖表區域樣式
?
????????????Chart1.ChartAreas["ChartArea1"].Name = "圖表區域";
????????????Chart1.ChartAreas["圖表區域"].Position.Auto = true;//設置是否自動設置合適的圖表元素
????????????Chart1.ChartAreas["圖表區域"].ShadowColor = System.Drawing.Color.YellowGreen;//設置圖表的陰影顏色
????????????Chart1.ChartAreas["圖表區域"].Position.X=5.089137F;//設置圖表元素左上角對應的X坐標
????????????Chart1.ChartAreas["圖表區域"].Position.Y = 5.895753F;//設置圖表元素左上角對應的Y坐標
????????????Chart1.ChartAreas["圖表區域"].Position.Height = 86.76062F;//設置圖表元素的高度
????????????Chart1.ChartAreas["圖表區域"].Position.Width = 88F;//設置圖表元素的寬度
?
????????????Chart1.ChartAreas["圖表區域"].InnerPlotPosition.Auto = false;//設置是否在內部繪圖區域中自動設置合適的圖表元素
????????????Chart1.ChartAreas["圖表區域"].InnerPlotPosition.Height = 85F;//設置圖表元素內部繪圖區域的高度
????????????Chart1.ChartAreas["圖表區域"].InnerPlotPosition.Width = 86F;//設置圖表元素內部繪圖區域的寬度
????????????Chart1.ChartAreas["圖表區域"].InnerPlotPosition.X = 8.3969F;//設置圖表元素內部繪圖區域左上角對應的X坐標
????????????Chart1.ChartAreas["圖表區域"].InnerPlotPosition.Y = 3.63068F;//設置圖表元素內部繪圖區域左上角對應的Y坐標
?
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.Inclination = 10;//設置三維圖表的旋轉角度
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.IsClustered = true;//設置條形圖或柱形圖的的數據系列是否為簇狀
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.IsRightAngleAxes = true;//設置圖表區域是否使用等角投影顯示
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.LightStyle = System.Web.UI.DataVisualization.Charting.LightStyle.Realistic;//設置圖表的照明類型(色調隨旋轉角度改變而改變,不應用照明,色調不改變)
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.Perspective = 50;//設置三維圖區的透視百分比
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.Rotation = 60;//設置三維圖表區域繞垂直軸旋轉的角度
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.WallWidth = 0;//設置三維圖區中顯示的墻的寬度
????????????Chart1.ChartAreas["圖表區域"].Area3DStyle.Enable3D = true;//設置是否顯示3D效果
?
????????????Chart1.ChartAreas["圖表區域"].BackColor = System.Drawing.Color.Green;//設置圖表區域的背景顏色
????????????Chart1.ChartAreas["圖表區域"].BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.LeftRight;//指定圖表元素的漸變樣式(中心向外,從左到右,從上到下等等)
????????????Chart1.ChartAreas["圖表區域"].BackSecondaryColor = System.Drawing.Color.White;//設置圖表區域的輔助顏色
????????????Chart1.ChartAreas["圖表區域"].BorderColor = System.Drawing.Color.White;//設置圖表區域邊框顏色
????????????Chart1.ChartAreas["圖表區域"].BorderDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid;//設置圖像邊框線的樣式(實線、虛線、點線)
?
????????????Chart1.ChartAreas["圖表區域"].AxisX.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);//設置X軸下方的提示信息的字體屬性
????????????Chart1.ChartAreas["圖表區域"].AxisX.LabelStyle.Format = "";//設置標簽文本中的格式字符串
????????????Chart1.ChartAreas["圖表區域"].AxisX.LabelStyle.Interval=5D;//設置標簽間隔的大小
????????????Chart1.ChartAreas["圖表區域"].AxisX.LabelStyle.IntervalType = System.Web.UI.DataVisualization.Charting.DateTimeIntervalType.Number;//設置間隔大小的度量單位
????????????Chart1.ChartAreas["圖表區域"].AxisX.LineColor = System.Drawing.Color.White;//設置X軸的線條顏色
????????????Chart1.ChartAreas["圖表區域"].AxisX.MajorGrid.Interval=5D;//設置主網格線與次要網格線的間隔
????????????Chart1.ChartAreas["圖表區域"].AxisX.MajorGrid.IntervalType = System.Web.UI.DataVisualization.Charting.DateTimeIntervalType.Number;//設置主網格線與次網格線的間隔的度量單位
????????????Chart1.ChartAreas["圖表區域"].AxisX.MajorGrid.LineColor = System.Drawing.Color.Snow;//設置網格線的顏色
????????????Chart1.ChartAreas["圖表區域"].AxisX.MajorTickMark.Interval = 5D;//設置刻度線的間隔
????????????Chart1.ChartAreas["圖表區域"].AxisX.MajorTickMark.IntervalType = System.Web.UI.DataVisualization.Charting.DateTimeIntervalType.Number;//設置刻度線的間隔的度量單位
?
????????????Chart1.ChartAreas["圖表區域"].AxisY.IsLabelAutoFit = false;//設置是否自動調整軸標簽
????????????Chart1.ChartAreas["圖表區域"].AxisY.IsStartedFromZero = false;//設置是否自動將數據值均為正值時軸的最小值設置為0,存在負數據值時,將使用數據軸最小值
????????????Chart1.ChartAreas["圖表區域"].AxisY.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);//設置Y軸左側的提示信息的字體屬性
????????????Chart1.ChartAreas["圖表區域"].AxisY.LineColor = System.Drawing.Color.DarkBlue;//設置軸的線條顏色
????????????Chart1.ChartAreas["圖表區域"].AxisY.MajorGrid.LineColor = System.Drawing.Color.White;//設置網格線顏色
?
????????????Chart1.ChartAreas["圖表區域"].AxisY.Maximum = getmax() + 100;//設置Y軸最大值
????????????Chart1.ChartAreas["圖表區域"].AxisY.Minimum=0;//設置Y軸最小值
?
????????????#endregion
?
?
????????????#region?圖例樣式
????????????Legend l = new Legend();//初始化一個圖例的實例
????????????l.Alignment = System.Drawing.StringAlignment.Near;//設置圖表的對齊方式(中間對齊,靠近原點對齊,遠離原點對齊)
????????????l.BackColor = System.Drawing.Color.Black;//設置圖例的背景顏色
????????????l.DockedToChartArea = "ChartArea1";//設置圖例要停靠在哪個區域上
????????????l.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom;//設置停靠在圖表區域的位置(底部、頂部、左側、右側)
????????????l.Font =new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);//設置圖例的字體屬性
????????????l.IsTextAutoFit = true;//設置圖例文本是否可以自動調節大小
????????????l.LegendStyle = System.Windows.Forms.DataVisualization.Charting.LegendStyle.Column;//設置顯示圖例項方式(多列一行、一列多行、多列多行)
????????????l.Name = "l1";//設置圖例的名稱
????????????Chart1.Legends.Add(l.Name);
????????????#endregion
?
?
????????}
總結
- 上一篇: Drupal7学习笔记之Theme感觉非
- 下一篇: 计算 变异系数 标准差 标准偏差 相关系