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
}