点击最多

 

猜你喜欢

Silverlight学习-创建一个信息系统中趋势曲线图库(三

2018-01-14 18:26

  首先应该分析工业用曲线图的几个构成部分,这样便于开发出灵活配置,且通用性强的绘制库。

  先看一下一个典型的趋势曲线所示,整个曲线的显示分为坐标轴区(可带网格底纹),Y轴区(多个y轴时)、曲线显示区、标题区和图例区几部分。

  X轴一般只有一个,当同时显示多条曲线时,Y轴可能有多个,曲线显示区除曲线外,可能还有网格底纹,本文将其归为坐标轴的一部分。图例区和曲线标题区都是可选的,其位置可以动态设置。因此,设计这样一个曲线显示功能,应包含以下几个类:

  Y轴类(YAsix):显示Y轴。如图2所示,图中示意性画出了一个“多余”的Y轴。有几种显示选项:只显示轴、显示轴数字刻度、显示轴文字说明(右置或左置)。轴可以设置有两种刻度,有数字标注的刻度(长刻度,显示横线长些)和无数字标注的刻度(短刻度,显示横线短些),笔者认为,如果开发出动态标注功能(纵横线交点随鼠标移动,动态显示交点数值),则两种刻度的设置就没有必要了。

  X轴类(XAsix):显示Y轴。Y轴与X轴类似,但X轴一般只有一个,比Y轴要简单,出于简化设计,也可不单独设置该类,而将它包含在轴类中。

  4.      存在多个Y轴时,轴本身自带的一个可称为主Y轴(最靠近曲线的),添加Y轴类的顺序决定轴离曲线的远近。在给定刻度数字显示格式情况下,自动计算各Y轴的间隔。

  曲线显示类(DataShow):显示曲线。输入数值点,连线成曲线(显示模块一般不提供拟合功能,那属于数值处理,而非显示功能了),需要注意的是,对自动化设备采集的曲线,如果出现断点(某时刻因网络原因没有采集到数据),显示类应能处理。本文以折线方式显示曲线为主,其实,稍加修改就可以显示柱状图。

  以上几个类构成了曲线显示的各个部分,它们之间需要共享的数据如图3所示。图例类需要知道个曲线的颜色和曲线显示的位置(便于自己定位)。曲线显示类和坐标类需要共享屏幕区域位置和图形的显示比例(数据空间到屏幕空间的位置映射比例)。

  SilverLight之利用Visifire生成柱状图、曲线图、饼状图

  公共数据:private List strListx = new List() { 苹果, 樱桃, 菠萝, 香蕉, 榴莲, 葡萄, 桃子, 猕猴桃 }; ...

  做wpf的项目很久了,第一次用sl做项目,发现sl居然不能连接数据库,还要用wcf或webserve间接连接数据库获取数据,间接连接也行,但是不能用System.Data框架,这就很恼火啦,假如我要移...

  笔者从事企业信息管理系统的构建工作,展示企业数据时,一是采用表单方式,传统的Table元素即可;二是采用曲线(图形)方式,这种方式在存在生产控制数据的系统中是必需的。关于曲线(图形)在浏览器中...

  上一篇中介绍了动态添加Silverlight绘图元素,由于这些绘图元素的使用并不简洁,接着就要构造基本图形库了。        工程应用中的图形库,基本有两种构建方式:一种是类似Win Form中的G...

  SilverLight之利用Visifire生成柱状图、曲线图、饼状图

  公共数据:private List strListx = new List() { 苹果, 樱桃, 菠萝, 香蕉, 榴莲, 葡萄, 桃子, 猕猴桃 }; ...

  接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线 B样条曲线产生背景及定义B样条产生的背景Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变曲线的...

  上周参加了关于测试的培训,虽然没有想象中的那么大的帮助,感触还是有的,现对于某几个相关的问题写了一些个人的想法,这次说的是关于bug曲线图的问题, 我们大部分人都知道所有的测试执行完成后,都会...

  跨平台(Windows+Linux)的Socket通讯程序(一)—底层封装