ProEssentials图表开发常见问题总结

ProEssentialsGigasoft 开发的一个功能十分强大的工业实时绘图控件,几乎每一个使用过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);//设置开始日期为20095180点整

DateTime dte = new DateTime(2009, 5, 18, 23, 59,59);//设置时间为2009518235959

 

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

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

 

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

 

问题八:怎么把date一列赋给ProEssentialsX轴,后面的任意一列赋值给Y

Y轴从010,X轴从096,其中X轴分24个大刻度,每个又分四个小刻度,现在已经分完了,问题1:显示的时候向外面不显示刻度线,在坐标轴里面显示刻度线;问题2X轴刻度那不向显示原来的124了,想显示比如0015-0030,就是时间段,至少大刻度能显示。

 

解答:首先您要使用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轴从110X轴共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;//设置线条的宽度

 

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

你可能感兴趣的:(工程图表,图表控件,ProEssentials,工业图表)