翻譯|使用教程|編輯:王香|2018-09-11 09:17:43.000|閱讀 280 次
概述:本文詳細介紹了在TeeChart for Java中使用系列中在圖表上混合系列類型。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
【下載TeeChart for Java最新版本】
TeeChart Pro提供了一個空的Chart Canvas作為數據系列的背景,這意味著沒有預定義圖表類型。您可以將所需的圖表類型定義為要顯示的系列類型的混合。由于某些系列類型的特殊性質,在圖表上混合一些系列類型是不切實際的。當您到達添加新系列時,TeeChart會通過在圖表庫中顯示不合適的系列類型來幫助您,您可以在一個圖表中放置的系列數量沒有實際限制。
按代碼添加系列,例:
public void jButton1_actionPerformed(ActionEvent e) { Bar bar1 = new Bar(tChart1.getChart().chart); bar1.fillSampleValues(10); } };
添加到圖表中的系列將自動將左軸和下軸作為參考軸,您可以通過選擇相關系列的“Series General”頁面來更改圖表編輯器中的參考軸,有4個軸可供選擇,Top,Left,Bottom和Right,通過代碼,更改軸將如下所示:
bar1.setHorizontalAxis(HorizontalAxis.TOP); bar1.setVerticalAxis(VerticalAxis.RIGHT);
每個軸可以關聯1個以上的系列,TeeChart將決定適合與Axis匹配的系列的最佳比例,但您可以自己更改Axis scales,可以添加附加軸,它們將復制與前4軸相對應的刻度。
您可以使用Series作為另一個Series的數據源,通過設置第二系列的數據源,可以使用圖表編輯器完成此操作。轉到“Series”選項卡“Datasource”頁面。選擇“Function”作為數據源類型。將出現兩個列表框,可用系列和選定系列。選擇要用作本系列數據源的系列,然后在上面名為Function:的Combobox中,選擇Copy作為功能類型。請注意,以這種方式,任何系列都可以定義為其他系列的功能,功能類型可以是功能組合框中可用的列表中的任何一個。要通過代碼執行相同操作,請參閱下文:
public void bFuncion_actionPerformed(ActionEvent e) { Bar bar1 = new Bar(); bar1.fillSampleValues(); Line line1 = new Line(); com.steema.teechart.functions.Average average1 = new com.steema.teechart.functions.Average(); line1.setFunction(average1); line1.setDataSource(bar1); line1.checkDataSource(); }
使用圖表編輯器可以非常輕松地更改系列順序,轉到編輯器的金喜正規買球,突出顯示要移動的系列,使用右側的箭頭按鈕以系列順序向上或向下移動系列。系列訂單將決定圖表中系列相對于其他系列的相對顯示位置,通過代碼使用SeriesList屬性或ExchangeSeries方法,例:
tChart1.exchangeSeries(0,1); //Change Series(0) with Series(1) in the index order
*注意,交換Series后,系列的索引將被更改。因此,如果代碼重新運行,上面的代碼行將永久地交換2系列'0'和'1',因為0變為1,1變為0。將系列設置為“Active:=假”將從圖表中隱藏系列,但保持其數據內容不變。
TeeChart系列通過TChartValueList組件將其值存儲在可訪問和可修改的Valuelist中。
upDatePoint(valueIndex,tChart1.getAxes().getLeft().calcPosPoint(e.Y));
調用UpdatePoint Sub例程來修改Bar的值:
private void upDatePoint(int Bar, double Y) { if(Bar < tChart1.getSeries(0).getCount()) { tChart1.getSeries(0).getYValues().setValue(Bar,Y); tChart1.paint(tChart1.getGraphics()); } }
對于那些使用TChart指針的系列,您可以使用OnGetSeriesPointer事件訪問和修改指針:如果Point高于最后一個,則繪制一個Uptriangle,如果更低,則繪制一個UpTriangle等。
if(e.ValueIndex > 0) { if(line1.getYValues().getValue(e.ValueIndex) > line1.getYValues().getValue(e.ValueIndex - 1)) { e.Style = PointerStyles.TRIANGLE; } else if(line1.getYValues().getValue(e.ValueIndex) < line1.getYValues().getValue(e.ValueIndex - 1)) { e.Style = PointerStyles.DOWNTRIANGLE; } else { e.Style = PointerStyles.DIAMOND; } } else { e.Style = PointerStyles.DIAMOND; }
使用OnGetSeriesMark事件在運行時修改標記內容。以下代碼根據相對于最后一個的值改變MarkText,TeeChart支持通過DragMarks工具在重疊的情況下拖動標記:
if(e.ValueIndex > 0) { if(line1.getYValues().getValue(e.ValueIndex) > line1.getYValues().getValue(e.ValueIndex - 1)) { e.MarkText = e.MarkText + " (Up)"; } else if(line1.getYValues().getValue(e.ValueIndex) < line1.getYValues().getValue(e.ValueIndex - 1)) { e.MarkText = e.MarkText + " (Down)"; } else { e.MarkText = e.MarkText + " (No Change)"; } } }
購買Steema正版授權,請點擊“”喲!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn