ProEssentials是 Gigasoft 开发的一个功能十分强大的工业实时绘图控件,几乎每个使用过ProEssentials的人都认为这是他们所用过的功能最强的图表控件。它能够运用到金融、科学、工程、商业等行业的实时曲线绘制中。下面慧都小编汇总了开发人员在使用 ProEssentials 时所遇到的一些问题,但愿能为其余使用者提供一点借鉴: c#
问题一:如何用ProEssentials v6参考线来标记坐标数据点 asp.net
解答:请参考VC示例中105号例子,将其中的CreateDataCursor()函数中的 函数
PEnset(m_hPE, PEP_nCURSORMODE, PEM_DATACROSS); .net
改成: 图片
PEnset(m_hPE, PEP_nCURSORMODE, PECM_FLOATINGXY); 开发
就能够实现您要的效果。 get
问题二:鼠标移动时如何获取ProEssentials图表当前点Y轴值 date
解答:实际上经过鼠标咱们能获取到的是一个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属性就能够。