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屬性就可以。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章