最近一直在一个需求,个股逐笔数据/分笔数据的实时价格(k线)可视化,全网查了一遍,发现C#方面画金融时间序列的图的好用模块真的不多,而NPlot是其中相对亮眼的仔,然后就果断的选择了他。
以下的代码和骚操作都是自己一行一行的码出来的(当然了,接口文档实在难找,所以大量的阅读与参考了其他博主的介绍博文),为了做这个工具连续熬夜两天,睡眠不足,很是难受。。。
废话不说,上码:
1.命名空间:画时间序列图,NPlot的命名空间主要用的using NPlot和using NPlot.Windows;
2.画图接口:见下图1、2
(图1)
(图2)
图1 、2中是NPlot最核心的画图接口使用部分,实现了接入股票时间序列的K线和价格均线,其他就是一些参数的设置了,没什么好说的。
3.放大、缩小接口:
只要涉及到K线的画图,那么放大与缩小是必须的,这里有两个参数,Plot指的是你要操作的当前NPlot控件,而increase指的是放大与缩小方向的值。
放大与缩小分别有鼠标滚动式和方向盘上下键:
1)鼠标滚动式:
所在Form中捕捉鼠标的滚动操作,通过参数的判断找到前滚与后滚的事件触发。
2) 键盘上下键滚动式:
通过windows底层的Api捕捉键盘事件,这个没什么难度就不细讲了(这里要注意跨线程操作导致的异常喔)
Last:综上,效果图如下图
博主qq:1013359736 有空交流...