TeeChart曲线的X轴是时间,但是频率很高。没法完全显示。

例如,一秒钟有2000个点,那么点与点的间隔为0.5毫秒。

使用TChart类的GetAxisLabel事件,

函数手册上对此事件的解释:

  1. An Event is triggered for each Axis Label painted. There are two different uses for GetAxisLabel:
  2.  
  3. 1) : Axis Labels are Values. Is this case, the Series parameter will be nil, and the ValueIndex will be -1.
  4. 2) : Axis Labels are Series points. The Series parameter will be a valid Series, and the ValueIndex will be the current Series point position. You can change the LabelText referred parameter for drawing a different Axis Label.

 

  1. private void Init()
  2. {
  3. tChart = new TChart();
  4. line = new Line();
  5. random = new Random();
  6.  
  7. tChart.Series.Add(line);
  8. tChart.Aspect.View3D = false;
  9. tChart.Dock = DockStyle.Fill;
  10. tChart.GetAxisLabel += tChart_GetAxisLabel;
  11. tChart.Axes.Bottom.Labels.Style = AxisLabelStyle.Mark;
  12. tChart.Axes.Bottom.Labels.Angle = ;
  13. line.ShowInLegend = false;
  14.  
  15. }
  16. void tChart_GetAxisLabel(object sender, GetAxisLabelEventArgs e)
  17. {
  18. if (((Steema.TeeChart.Axis)sender).Equals(tChart.Axes.Bottom))
  19. {
  20. double max = tChart.Axes.Bottom.Maximum;
  21. double min = tChart.Axes.Bottom.Minimum;
  22. double middle = Math.Ceiling((min + max) / 2.0 + min);
  23. if (e.ValueIndex == max)
  24. {
  25. e.LabelText = DateTime.Now.ToString("MM-dd HH:mm:ss");
  26. }
  27. else if (e.ValueIndex == min)
  28. {
  29. e.LabelText = DateTime.Now.AddHours().ToString("yyyy-MM-dd HH:mm:ss");
  30. }
  31. else if (e.ValueIndex == middle)
  32. {
  33. e.LabelText = DateTime.Now.AddMinutes().ToString("yyyy-MM-dd HH:mm:ss");
  34. }
  35. else
  36. {
  37. e.LabelText = string.Empty;
  38. }
  39. }
  40. }

上述代码的问题是:

在缩放的时候,就没有开始时间,结束时间以及中间的时间了。

需要考虑在缩放事件中,重新绘制这三个时间,难点在于,计算出当前起始点和结束点所对应的时间。

TeeChart的X轴,使用伪装的时间的更多相关文章

  1. TeeChart的X轴为时间,多个Y轴的显示

    最后上代码 public partial class Test : Form { private TChart tChart = new TChart(); ; public Test() { Ini ...

  2. css 常见时间轴的做法(————————————————时间轴——————————————————)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果

    Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果 在一个项目中,用到了时间轴展示产品的开发进度,为了更好用户体验,想到了Facebook的timeline效果, 搜了一 ...

  4. 超炫的时间轴jquery插件Timeline Portfolio

    Timeline Portfolio是一款按时间顺序专业显示事件的jquery时间轴插件,可以根据时间的先后嵌入各种媒体包括微博,视频和地图等.这个展现的模式非常适合设计师的作品集和个人简历的展示.T ...

  5. HTML5+CSS3实现的响应式垂直时间轴

    <!DOCTYPE HTML><html><head><meta charset="utf-8"><meta name=&qu ...

  6. Android自定义指示器时间轴

    指示器时间轴在外卖.购物类的APP里会经常用到,效果大概就像下面这样,看了网上很多文章,大都是自己绘制,太麻烦,其实通过ListView就可以实现.   在Activity关联的布局文件activit ...

  7. 使用canvas编写时间轴插件

    使用canvas编写时间轴插件 背景 项目中有一个视频广场的功能,需要一个时间轴类似视频播放中进度条功能一样显示录像情况,并且可以点击.拖动.放大缩小展示时间轴,获取到时间轴的某个时间.原来的时间轴是 ...

  8. 超酷的JavaScript叙事性时间轴(Timeline)类库

    在线演示 Timeline 是我见过的最酷的展示事件随时间发展的javascript实现.你可以基于时间使用讲故事的方式来创建时间轴特效,整个时间轴以幻灯的方式来展示,你可以穿插图片,视频或者是网站, ...

  9. Arcgis栅格时序地图制作---时间轴动态展示多期影像

    转自原文 Arcgis栅格时序地图制作---时间轴动态展示多期影像 效果如何???满意您go on,不满意咱 say goodbye··· 题外话: 为了在这里动态展示下制作结果,也是费了老劲了,转换 ...

随机推荐

  1. 【开发记录】iOS中使用 Reachability 检测网络

    如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测. 写本文的目的 了解Re ...

  2. 简单的C#线程开发实例(隔一秒改变一下Label的Text)

    要实现的效果:点击按纽,窗口上的label上出现1~100数字的变化. 第一个实例(把窗口上的label上文字改成0): using System; using System.Windows.Form ...

  3. 常用汉字的Unicode码表

    \u96d5\u864e\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u77 ...

  4. oracle 常用SQL语法手册

    Select 用途: 从指定表中取出指定的列的数据 语法: SELECT column_name(s) FROM table_name 解释: 从数据库中选取资料列,并允许从一或多个资料表中,选取一或 ...

  5. [转载+原创]Emgu CV on C# (四) —— Emgu CV on 全局固定阈值二值化

    重点介绍了全局二值化原理及数学实现,并利用emgucv方法编程实现. 一.理论概述(转载,如果懂图像处理,可以略过,仅用作科普,或者写文章凑字数)  1.概述 图像二值化是图像处理中的一项基本技术,也 ...

  6. android button 字母自动大写

    <Button android:id="@+id/btnStart" android:layout_width="wrap_content" androi ...

  7. 虚拟机移动后重启网络时提示Device does not seem to be present

    Wmware虚拟机硬盘文件位置移动之后,重新引入到Wmware workStation中, 通过命令ifconfig...没有看到eth0..然后重启网卡 #service network resta ...

  8. 2012 Asia Hangzhou Regional Contest

    Friend Chains http://acm.hdu.edu.cn/showproblem.php?pid=4460 图的最远两点距离,任意选个点bfs,如果有不能到的点直接-1.然后对于所有距离 ...

  9. DIV+CSS 基础

    盒子模型:margin(边界),可被占位:border(边框):padding(填充):content(内容) 块元素: 默认占据一行,前后换行. 作为容器,装载块元素和行内元素,被装载元素的位置,会 ...

  10. C++字符串分割

    //字符串分割函数 std::vector<std::string> split(std::string str,std::string pattern) { std::string::s ...