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