WinForm中使用LightningChart作图
在用Visual Studio做WinForm的时候经常需要作图,有时候是简单的二维曲线图、饼图还有柱状图,还有时候是复杂的三维图。随着图形的复杂和审美的要求的提高,普通的插件越来越难满足我们的需求。这里介绍一款来自芬兰公司Arction开发的LightningChart插件,非常强大,上述提到的内容都可以轻松做出来,图的类型只多不少,而且还有不少的演示效果,不再只是呆板的图像展示。
需要的可以直接在官网下载英文版。由于英文语言的限制和复杂的功能,加上国内的中文教程缺乏,使用这个插件似乎不会那么得心应手。为此,LightningChart的开发人员特意精心准备了一个demo,在开始菜单的Arction文件夹下可以找到,另外还有一个PDF帮助文档。
顺便提一句,LightningChart除了开发WinForm的时候派上用场,在WPF项目中也是适用 的,但是本文只专注于WinForm的使用。
点开LCU v.8 Demo WinForms,可以看到左边的选项当中有很多很多类型图,点击其中一个选项,在右边显示窗口便可以演示此图表的类型和演示效果等。比如这次我用到的圈出特征点,鼠标点击其中一条二维曲线便可以追踪所有已知点等等。这些功能看起来很难,但是实际上每一个类型图都会精心准备一个源代码,可复制,可参考,也可以根据自己的需求进行修改。相信在编程的时候读代码应该比读帮助文档实用性会更大一些。
基础介绍就到这,接下来结合我个人写的一个小程序来具体展示此款强大插件的部分内容。前提声明,由于本人是C#语言和LightningChart插件的初学者,这里分享的重点不在于代码的复杂程度,而是展示一些基础的功能。
我使用的是最基础的二维曲线图,绘制出相等已知条件下经过四个不同河流BOD-DO模型计算的沿河长的BOD和DO浓度变化关系。因为有四个模型所以我选择用共享同一个X轴,建立四个Y轴的布局方式,其中Legend的显示设置参照Multiple Legends的源代码进行编写。
因为我设置了点不可见,但是我们有时候还是想找到点的位置和查看数值的,这时可以参照Cursor tracking的内容。
对于DO的变化规律会有一个先减小而后因为河流的自净作用而浓度上升的过程,其中最低点的临界浓度和临界距离往往是需要关注的点。于是采取把这个点圈出来的方式,并在选中此点的时候展示其数值,方便有需要的人员查询。这个功能可以参考以下内容Tracking markers的相关源代码。
由于DO越小对于河流的生态环境影响越严重,所以在一条曲线上采取了不同的配色,越往下越接近红色,也就是起到警示作用。这里可以选择颜色渐变或者是分段显示颜色。具体功能参照Multi-color line/points的相关源代码。
最后得到的效果就是如下图了
值得一提的是,越往后用到LightningChart反而不是它实现我想到的什么功能,而是在浏览众多类型图时,逐渐得到灵感,希望把例图中的功能加入到我的图像中,所以这个插件没有什么做不到的,只有你想不到的。另外上述展示的仅仅也只是这个强大插件功能的冰山一角而已。
这个软件只有一个月的试用期,到期之后有需要可以在官网联系再加一个月试用期,也可以发送邮件给她联系学生版的免费授权。另外说一句,官网的客服人员非常好,非常非常的耐心,有软件使用和操作等技术上的问题都可以联系她。