c#chart 的x轴设置时间格式,第一个坐标从0开始
#region 图表展示/// <summary>/// 图表对象/// </summary>Series series;/// <summary>/// x轴最大点数/// </summary>int xValue = 30;/// <summary>/// 开始时间/// </summary>DateTime sDate;private void InitChart(){series = chart1.Series[0];//清空原来数据缓存series.Points.Clear();//定义图表大小尺寸chart1.Width = Width - 90;chart1.Height = Height - 110;//以下按照先绘制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(sDate.ToString("HH:mm:ss")).ToOADate();//chart1.ChartAreas[0].AxisX.Maximum = DateTime.Parse(sDate.AddSeconds(xValue).ToString("HH:mm:ss")).ToOADate();//chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Seconds;//如果是时间类型的数据,间隔方式可以是秒、分、时//chart1.ChartAreas[0].AxisX.Interval = DateTime.Parse("00:05:00").Millisecond;//间隔为5分钟SetAxisX(2);//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 = 1000;chart1.ChartAreas[0].AxisY.Interval = 200;//Series绘制//chart1.Series[0].LegendText = "瞬时速度";series.ChartType = SeriesChartType.Spline;series.XValueType = ChartValueType.DateTime;//series.IsValueShownAsLabel = true;//显示数据点的值series.MarkerStyle = MarkerStyle.None;//显示标记}private void SetAxisX(int waitTime){sDate = DateTime.Now.AddSeconds(waitTime);/************************************************************************/* 如果想显示原点第一个时间坐标,需要设置最小时间,时间间隔类型,时间间隔值等三个参数*//************************************************************************/chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss"; //X轴显示的时间格式,HH为大写时是24小时制,hh小写时是12小时制#region 重点 重点 重点 为了计算整点(秒),为了让x坐标从0开始。var s1 = Convert.ToInt32(sDate.ToString("HH:mm:ss").Substring(6, 1));var s2 = Convert.ToInt32(sDate.ToString("HH:mm:ss").Substring(7));if (s2 < 5){sDate = DateTime.Parse(sDate.ToString("yyyy-MM-dd HH:mm:" + s1 + "5"));}else if (s2 > 5 && s2 <= 9){sDate = DateTime.Parse(sDate.ToString("yyyy-MM-dd HH:mm:" + s1 + "0")).AddSeconds(10);}#endregionchart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse(sDate.ToString("HH:mm:ss")).ToOADate();chart1.ChartAreas[0].AxisX.Maximum = DateTime.Parse(sDate.AddSeconds(xValue).ToString("HH:mm:ss")).ToOADate();chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Seconds;//如果是时间类型的数据,间隔方式可以是秒、分、时//chart1.ChartAreas[0].AxisX.Interval = DateTime.Parse("00:05:00").Millisecond;//间隔为5分钟chart1.ChartAreas[0].AxisX.Interval = DateTime.Parse("00:00:05").Second;//TODO 测试--间隔为5秒}int count = 0;/// <summary>/// 实时曲线/// </summary>/// <param name="Data">实时磅秤数据</param>void MsCharSeries(decimal Data){try{if (series != null){count++;series.Points.AddXY(DateTime.Parse(sDate.ToString("HH:mm:ss")).ToOADate(), Data);sDate = sDate.AddSeconds(1);if (count == xValue){SetAxisX(1);count = 0;series.Points.Clear();return;}当采集够50个点的时候开始消失曲线//while (this.chart1.Series[0].Points.Count >= xValue - 2)//{// // Remove series points// foreach (Series s in this.chart1.Series)// {// s.Points.RemoveAt(0);// }//}}}catch (Exception ex){string str = "";}}
测试的时候,只需要调用 MsCharSeries() 方法即可。
c#chart 的x轴设置时间格式,第一个坐标从0开始相关推荐
- 用SimpleDateFormat类设置时间格式
用SimpleDateFormat类设置时间格式 www.diybl.com 时间:2008-10-02 作者:佚名 编辑:本站 点击: [评论] String[] formatArr = {&quo ...
- 在SQL server中设置时间格式
在SQL server中设置时间格式 2008-01-13 12:21:02 今天在vs中更新sqlserver,却发现我vs中是当前时间,insert到数据库中却变成了1905年,搞了半天,原来是s ...
- Matplotlib绘图双纵坐标轴设置及控制设置时间格式
双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图. fig=plt.figure(figsize=(20,15)) ax1=fig.add_subplot(111) ax1 ...
- python绘图设置时间坐标轴_Matplotlib绘图双纵坐标轴设置及控制设置时间格式
双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图. fig=plt.figure(figsize=(20,15)) ax1=fig.add_subplot(111) ax1 ...
- python中设置时间格式--模块datetime中日期和时间格式的参数
模块datetime中设置日期和时间格式的实参 实参 含义 %A 本地完整星期名称 %a 本地简化星期名称 %B 本地完整的月份名称 %b 本地简化的月份名称 %m(month的首字母) 用数字表示的 ...
- mysql 设置日期时间格式_mysql 设置时间格式
MYSQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统 ...
- SqlServer数据库 时间类型字段添加默认值 设置时间格式
在做项目的时候,遇到了需要在数据库中给字段默认值的问题,默认值需要显示的是当前年份,给大家分享下: 找了一些资料后,感觉这个方法很适用: 将数据类型改成了varchar,默认值设置为 convert( ...
- oracle时间格式设为英文,如何在Oracle开启时自动设置时间格式?
参考: Oracle中 NLS_DATE_FORMAT的设置方法 Oracle日期格式默认为:DD-MON-YY,以下是3种方法可以修改使之永久生效: 1.修改glogin.sql文件,这个文件的路径 ...
- java获取当前时间和设置时间格式
1.获取当前时间(毫秒值) Long time =System.currentTimeMillis(); System.out.println(time); //1635437565547 这个毫秒其 ...
最新文章
- 【DFS/BFS】NYOJ-58-最少步数(迷宫最短路径问题)
- 百度网络推广介绍网站在更换老域名时都需注意哪些?
- 【iOS-cocos2d-X 游戏开发之十一】使用New CCSprite() CCUserDefault要注意!
- 为什么VS(visual studio)中会建议宏 #define 转换为constexpr?
- python opencv imwrite()方法 cv :: ImwriteFlags (写入图片、保存图片)
- 利用Contained Database和DAC来开发基于SQL Server Denali和SQL Azure之上的应用程序
- 不使用任何框架,手写纯 JavaScript 实现上传本地文件到 ABAP 服务器
- SAP Cloud for Customer(C4C)和微信集成系列教程
- 沟通linux与windows的wine
- Blog运用感想 (ZT)
- 视图查询缓慢mysql_《高性能MySQL》读书笔记——第一章、MySQL架构与历史
- 详解 Spring 3.0 基于 Annotation 的依赖注入实现
- 4. Linux 高性能服务器编程 --- TCP/IP 通信
- eclipse中pom文件的查看
- Google 翻译插件不能用了怎么办
- c均值聚类matlab,实现代码 - 模糊C均值聚类算法(原理+Matlab代码)
- python 吃cpu 显卡 内存_浅析 Pycharm 内存、cpu 占用率
- 大三小学期进阶课程第三十二课:感知算法
- 海康威视摄像头断后与8芯网线连接方法
- 小牛电动车能跑多快、多远?一起来了解一下