首页 > 代码库 > Mschart绘制图表之X轴为时间的设置方式
Mschart绘制图表之X轴为时间的设置方式
最近使用C#开发图表,比较了DirectorChart,DontNetCharting,TeeChart,最终选用微软的mschart开发,对于X轴作为时间轴探索了好久,终于实现了想要的效果。
界面效果:
核心代码:
源码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using ComponentFactory.Krypton.Toolkit;using System.Windows.Forms.DataVisualization.Charting;namespace Krypton440Test{ public partial class Form4 : ComponentFactory.Krypton.Toolkit.KryptonForm { public Form4() { InitializeComponent(); } private void Form4_Load(object sender, EventArgs e) { //清空原来数据缓存 chart1.Series[0].Points.Clear(); //定义图表大小尺寸 chart1.Width = Width - 100; chart1.Height = Height - 100; //定义X轴、Y轴数据 double[] Ydata = http://www.mamicode.com/{ 20, 3, 23 ,6};"09:10:02"), DateTime.Parse("09:10:10"),DateTime.Parse("09:10:15"), DateTime.Parse("09:10:20") }; //以下按照先绘制chartArea、然后再绘制Series的步骤画图 //chartArea背景颜色 chart1.BackColor = Color.Azure; //X轴设置 chart1.ChartAreas[0].AxisX.Title = "时间"; chart1.ChartAreas[0].AxisX.TitleAlignment = StringAlignment.Near; chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;//不显示竖着的分割线 /************************************************************************/ /* 本文重点讲解时间格式的设置 * 如果想显示原点第一个时间坐标,需要设置最小时间,时间间隔类型,时间间隔值等三个参数*/ /************************************************************************/ chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss"; //X轴显示的时间格式,HH为大写时是24小时制,hh小写时是12小时制 chart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse("09:10:02").ToOADate(); chart1.ChartAreas[0].AxisX.Maximum = DateTime.Parse("09:10:21").ToOADate(); chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Seconds;//如果是时间类型的数据,间隔方式可以是秒、分、时 chart1.ChartAreas[0].AxisX.Interval = DateTime.Parse("00:00:02").Second;//间隔为1秒 //Y轴设置 chart1.ChartAreas[0].AxisY.Title = "数据点"; chart1.ChartAreas[0].AxisY.TitleAlignment = StringAlignment.Center; chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = true;//显示横着的分割线 chart1.ChartAreas[0].AxisY.Minimum = 0; chart1.ChartAreas[0].AxisY.Maximum = 25; chart1.ChartAreas[0].AxisY.Interval = 5; //Series绘制 chart1.Series[0].LegendText = "温度点"; chart1.Series[0].ChartType = SeriesChartType.Spline; chart1.Series[0].XValueType = ChartValueType.DateTime; chart1.Series[0].IsValueShownAsLabel = true;//显示数据点的值 chart1.Series[0].MarkerStyle = MarkerStyle.Circle; //把数据点添加到Series图表中 for (int i = 0; i < Xdate.Length; i++) { chart1.Series[0].Points.AddXY(Xdate[i], Ydata[i]); } } }}
Mschart绘制图表之X轴为时间的设置方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。