拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

时间:2021-10-21 06:31:19

本文将使用一个NuGet果然的组件来实现曲线的显示,包罗了多种显示的模式和配置来满足各类差此外应用场景,便利大家进行快速的开发系统。

在Visual Studio 中的NuGet打点器中可以下载安置,也可以直接在NuGet控制台输入下面的指令安置:

Install-Package HslCommunication

NuGet安置教程 

技术撑持QQ群:592132877 (组件的版本更新细节也将第一时间在群里颁布)

如果你在使用控件的过程中有什么疑问,或是发明了BUG,或是成果建议,等等都可以插手上面的QQ群进行讨论。文章更新时间:2018年1月24日 18:25:50

接下来的打算撑持:

打算撑持X轴文本信息显示,但是具体的逻辑实现还是有待确认,如何更好的显示

打算撑持鼠标在数据上挪动时动态显示数据值

Summary

曲线控件属于组件里诸多控件中的一种,为什么单独拿出来写一篇博客呢,就是因为曲线控件相对付其他控件都要庞大很多,并不是几个属性那么简单,下面列举了本曲线控件的特性:

供给便捷的API挪用即可显示曲线信息内容,不需要庞大的配置

曲线界面的一些信息可以*定制,好比坐标轴的颜色,是否显示虚线等等

高度的巨细自适应,无论你怎么调解控件的巨细,始终都能友好显示

撑持数据拉伸填充和像素点填充两种模式,具体区别参照下面的代码

多曲线撑持,撑持同时显示多个曲线信息,每个曲线可独立的指定颜色,线宽等等。

撑持摆布两个参考系,就是说一个控件中允许显示2种数据跨度不一致的曲线,每种曲线可以显示多条差此外曲线

其他控件的说明地点:

组件的完整API说明:

要想使用组件的控件,除了使用NuGet来安置组件外,还需要将组件的dll文件(在你的项目的packages里面可以找到,如果你原来就是引用本地的,就直接拖拽本地的即可)拖拽到工具栏:

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

拖拽完成后效果如下:

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

1.单曲线使用

把控件拖拽到窗口界面上去后,此刻界面如下,你可以随意的拉伸巨细,调解到一个虚线看着对照清晰的时刻遏制:

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

我们看到摆布纵轴的数据跨度都是0-100,此刻我们有个需求,手里有300个0-200的数据需要显示,那么就要先设置摆布纵轴的数据跨度

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

接下来就可以编写显示的代码了,一下数据随机:

private void userButton1_Click( object sender, EventArgs e ) { float[] data = new float[300]; for (int i = 0; i < data.Length; i++) { data[i] = random.Next( 201 ); } userCurve1.SetLeftCurve( "A", data, Color.DodgerBlue ); }

显示功效如下:

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

看吧,相当简单便利,如果你感受目前的数据太密了,想要宽松一点,但愿数据拉伸满整个X轴,没问题,因为目前默认的模式是像素点模式,所以切换为拉伸模式即可。

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

然后在运行看看效果:

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

接下来我们要对曲线“A”进行数据更新,我们假设你的data数组的数据已经更新了,有可能只更新了一个数据,有可能全部更新了,在数据更新的时候就需要在指定颜色了,因为指定了颜色也没有用了。

private void userButton3_Click( object sender, EventArgs e ) { // 假设你的data数组已经更新了 float[] data = new float[300]; for (int i = 0; i < data.Length; i++) { data[i] = random.Next( 100, 201 ); } // 之前已经给A指定过颜色了,以后后续的数据更新不需要从头指定,指定了也无效 // 如果需要从头设置颜色,或是线宽,需要先RemoveCurve,然后从头创建曲线信息 userCurve1.SetLeftCurve( "A", data ); }

拉伸模式虽然在控件拉伸的情况下显示的数据量不会增长

从上面的数据更新我们发明,只要更新了数据,就不竭的挪用数据显示,那么我们就可以显示实时数据了,而独一的麻烦之处在于我们需要维护本身的data数组。所以当前的这种方法只适合静态数据显示

2.单曲线实时数据