分享

ProEssentials常见问题解答

 昵称11921383 2013-05-06

ProEssentials是 Gigasoft 开发的一个功能十分强大的工业实时绘图控件,几乎每一个使用过ProEssentials的人都认为这是他们所用过的功能最强的图表控件。它可以运用到金融、科学、工程、商业等行业的实时曲线绘制中。下面慧都小编汇总了开发人员在使用 ProEssentials 时所遇到的一些问题,希望能为其他使用者提供一点借鉴:

问题一:如何用ProEssentials v6参考线来标记坐标数据点

解答:请参考VC示例中105号例子,将其中的CreateDataCursor()函数中的

PEnset(m_hPE, PEP_nCURSORMODE, PEM_DATACROSS);

改为:

PEnset(m_hPE, PEP_nCURSORMODE, PECM_FLOATINGXY);

就可以实现您要的效果。

问题二:鼠标移动时如何获取ProEssentials图表当前点Y轴值

解答:实际上通过鼠标我们能获取到的是一个double类型的值,并且我们取到的通常不可能是和数据点完全吻合的值。那么实际上您要取的值我建议您采用取近似值的办法来获取,也就是说取到当前点的X,Y坐标,并与我们设置的标记点或者数据点进行比较,这样来得到我们所设置的数据点。

问题三:ProEssentials图表控件无法响应滑鼠的动作进行放大或者缩小

解答:在这里呢要提示您一下,该控件的缩放功能并不是您所想的是鼠标中键滚动实现缩放,而是中键或者左键按下后拖动实现。以您所选择的区域为中心进行缩放。
也就是说中键滚动不会出现效果,而是按下后拖动。请您注意一下,如果您是按我所说的方式理解的,那么是可以实现的。

问题四:如何在ProEssentials中用映射的方式显示图片

用asp.net c#开发的时候,使用ProEssentials控件的方式是这样的,先在default1.aspx里拖拽一个控件,然后在default2.aspx里拖拽一个,其中defautl.aspx实际上是一个图片,default1连接default2,是程序可以运行,但是当default1上需要拖拽很多个同样的控件的时候,要用多个default2.aspx还对应吗,这样就会产生很多个类似的default2.aspx.

解答:如果您要想用映射的方式来显示图片您其实可以在Default2.aspx中使用多个控件,统一映射到Default1.aspx中就可以了,无论如何进行拖拽都不会出现多个页面.也不需要多个页面来承载控件,这是没有必要的.

问题五:如何将ProEssentials的柱状图变成线状图

解答:您要将柱状图改为线性图只需要将pego1.PePlot.Method = GraphPlottingMethod.Bar改为pego1.PePlot.Method = GraphPlottingMethod.Line就可以实现.

要使用水平平行线方式的网格线的话您需要将pego1.PeGrid.LineControl = GridLineControl.Both;改为Pego1.PeGrid.LineControl = GridLineControl.YAxis;就可以实现您要的效果

请注意:在修改了状态之后请重新绘制控件,请使用pego1.Refresh();

问题六:用ProEssentials创建多个坐标窗口时,如何控制窗口比例大小

解答:ProEssentials控件内部自设置平分图表区域,目前尚无法控制每个区域大小,只能以平分方式来确定。

问题七:ProEssentials整个X轴能否显示成24小时的

解答:请您根据以下代码来设置您的控件:

DateTime dt = new DateTime(2009, 5, 18, 0, 0, 0);//设置开始日期为2009年5月18日0点整
DateTime dte = new DateTime(2009, 5, 18, 23, 59,59);//设置时间为2009年5月18日23点59分59秒

Pesgo1.PeGrid.Configure.ManualMinX = dt.ToOADate();;
Pesgo1.PeGrid.Configure.ManualMaxX = dte.ToOADate();

这样就可以设置为一天24小时。

问题八:怎么把date一列赋给ProEssentials的X轴,后面的任意一列赋值给Y轴
Y轴从0到10,X轴从0到96,其中X轴分24个大刻度,每个又分四个小刻度,现在已经分完了,问题1:显示的时候向外面不显示刻度线,在坐标轴里面显示刻度线;问题2:X轴刻度那不向显示原来的1到24了,想显示比如00:15-00:30,就是时间段,至少大刻度能显示。

解答:首先您要使用pesgoWeb.PeData.DateTimeMode = true;这个设置,X轴设置为时间显示的方式.那么时间里就是标准的时间格式如:00:12等.

double ZoomSmallInterval = (1.0 / 1440.0); //设置时间跨度的大小,1440是一天的分钟数
double StartTime = DateTime.Now.ToOADate();//时间需要转换到double类型
pesgo1.PeGrid.Configure.ManualScaleControlX = ManualScaleControl.MinMax;
pesgo1.PeGrid.Configure.ManualMinX = StartTime;
pesgo1.PeGrid.Configure.ManualMaxX = pesgo1.PeGrid.Configure.ManualMinX + ZoomInterval;

目前时间刻度无法设置刻度的大小,它会自动的进行分段,当然就更无法设置小刻度了。

问题九:如何控制ProEssentials坐标轴的每个刻度之间的距离

就是如果X轴是一厘米一个刻度的话,Y轴想0.5厘米一个刻度

解答:关于刻度的长度尺寸是无法控制的,通常情况下我们是以最大值和最小值来设置的,中间设置步长也就是跨度,但是具体长度就没办法控制了,因为这个与显示大小以及控件内部的大小都是有关系的.
要使用最大值最小值来控制轴上能显示的区域请使用以下代码

Pesgo1.PeGrid.Configure.ManualScaleControlY = ManualScaleControl.MinMax;
Pesgo1.PeGrid.Configure.ManualMinY = 0;
Pesgo1.PeGrid.Configure.ManualMaxY = 1000;

通过这个设置就可以正确的设置它显示的最大值最小值.步长则是自动设定的。

问题十:用Proessentials绘制水平曲线的问题

主要是Y轴从1到10,X轴共96个刻度,只有一条曲线就可以,并且只要水平线,不要垂直线。

解答:如果您要使用简单图,那么无法实现这样的X轴,但是如果您要用科学图就可以实现这样的X轴。具体方法如下:
Pesgo1.PeGrid.Configure.ManualXAxisTicknLine = true;//必须要设置的语句
Pesgo1.PeGrid.Configure.ManualXAxisTick = 50;//设置X轴步长单位垮度
Pesgo1.PeGrid.Configure.ManualXAxisLine = 1;//设置线条的宽度
而Y轴的设置上非常简单。具体方法如下:
Pesgo1.PeGrid.Configure.ManualScaleControlY = ManualScaleControl.MinMax;//设置Y轴最大最小值为自定义
Pesgo1.PeGrid.Configure.ManualMaxY = 10;//设置Y轴上限
Pesgo1.PeGrid.Configure.ManualMinY = 0;//设置Y轴下限
您要设置Y轴的刻度步长与X轴的方法是相同的,只是参数名称有些不同:
Pesgo1.PeGrid.Configure.ManualYAxisTicknLine = true;//必须要设置的语句
Pesgo1.PeGrid.Configure.ManualYAxisTick = 50;//设置X轴步长单位垮度
Pesgo1.PeGrid.Configure.ManualYAxisLine = 1;//设置线条的宽度

例如您想设置96个X刻度,那么您需要做的就是将 整个轴的长度值/96 这个double值赋予ManualXAxisTick属性就可以。

* ProEssentials下载地址
* ProEssentials使用文档

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多