#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开始相关推荐

  1. 用SimpleDateFormat类设置时间格式

    用SimpleDateFormat类设置时间格式 www.diybl.com 时间:2008-10-02 作者:佚名 编辑:本站 点击: [评论] String[] formatArr = {&quo ...

  2. 在SQL server中设置时间格式

    在SQL server中设置时间格式 2008-01-13 12:21:02 今天在vs中更新sqlserver,却发现我vs中是当前时间,insert到数据库中却变成了1905年,搞了半天,原来是s ...

  3. Matplotlib绘图双纵坐标轴设置及控制设置时间格式

    双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图. fig=plt.figure(figsize=(20,15)) ax1=fig.add_subplot(111) ax1 ...

  4. python绘图设置时间坐标轴_Matplotlib绘图双纵坐标轴设置及控制设置时间格式

    双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图. fig=plt.figure(figsize=(20,15)) ax1=fig.add_subplot(111) ax1 ...

  5. python中设置时间格式--模块datetime中日期和时间格式的参数

    模块datetime中设置日期和时间格式的实参 实参 含义 %A 本地完整星期名称 %a 本地简化星期名称 %B 本地完整的月份名称 %b 本地简化的月份名称 %m(month的首字母) 用数字表示的 ...

  6. mysql 设置日期时间格式_mysql 设置时间格式

    MYSQL 获取当前日期及日期格式 获取系统日期:  NOW() 格式化日期:    DATE_FORMAT(date, format) 注:   date:时间字段 format:日期格式 返回系统 ...

  7. SqlServer数据库 时间类型字段添加默认值 设置时间格式

    在做项目的时候,遇到了需要在数据库中给字段默认值的问题,默认值需要显示的是当前年份,给大家分享下: 找了一些资料后,感觉这个方法很适用: 将数据类型改成了varchar,默认值设置为 convert( ...

  8. oracle时间格式设为英文,如何在Oracle开启时自动设置时间格式?

    参考: Oracle中 NLS_DATE_FORMAT的设置方法 Oracle日期格式默认为:DD-MON-YY,以下是3种方法可以修改使之永久生效: 1.修改glogin.sql文件,这个文件的路径 ...

  9. java获取当前时间和设置时间格式

    1.获取当前时间(毫秒值) Long time =System.currentTimeMillis(); System.out.println(time); //1635437565547 这个毫秒其 ...

最新文章

  1. 【DFS/BFS】NYOJ-58-最少步数(迷宫最短路径问题)
  2. 百度网络推广介绍网站在更换老域名时都需注意哪些?
  3. 【iOS-cocos2d-X 游戏开发之十一】使用New CCSprite() CCUserDefault要注意!
  4. 为什么VS(visual studio)中会建议宏 #define 转换为constexpr?
  5. python opencv imwrite()方法 cv :: ImwriteFlags (写入图片、保存图片)
  6. 利用Contained Database和DAC来开发基于SQL Server Denali和SQL Azure之上的应用程序
  7. 不使用任何框架,手写纯 JavaScript 实现上传本地文件到 ABAP 服务器
  8. SAP Cloud for Customer(C4C)和微信集成系列教程
  9. 沟通linux与windows的wine
  10. Blog运用感想 (ZT)
  11. 视图查询缓慢mysql_《高性能MySQL》读书笔记——第一章、MySQL架构与历史
  12. 详解 Spring 3.0 基于 Annotation 的依赖注入实现
  13. 4. Linux 高性能服务器编程 --- TCP/IP 通信
  14. eclipse中pom文件的查看
  15. Google 翻译插件不能用了怎么办
  16. c均值聚类matlab,实现代码 - 模糊C均值聚类算法(原理+Matlab代码)
  17. python 吃cpu 显卡 内存_浅析 Pycharm 内存、cpu 占用率
  18. 大三小学期进阶课程第三十二课:感知算法
  19. 海康威视摄像头断后与8芯网线连接方法
  20. 小牛电动车能跑多快、多远?一起来了解一下

热门文章

  1. 淘宝api接口大全(参数返回值说明)
  2. 知识图谱与古希腊人物关系
  3. E1/CE1/T1/PRI/BRI知识介绍和配置
  4. 颈椎 肩膀痛 胸部酸痛 生活中治疗调整----健康
  5. layui图标大全,精心整理
  6. 图片极致压缩,不失真
  7. CKEditor5+vue3使用以及如何添加新工具栏
  8. 【HDU 1043】Eight(A*启发式搜索算法)
  9. 自学apicloud【Apicloud——关于上传图片、视频】
  10. Maven配置 settings.xml 配置阿里云镜像