翻譯|使用教程|編輯:況魚杰|2019-07-31 11:17:13.047|閱讀 449 次
概述:本教程將會介紹系列的架構和編程。主要的內容分為系列類型,在圖表上可混合系列類型,系列價值表和系列事件,而本節主要介紹的是系列類型這一部分。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TeeChart for PHP包含100%的PHP源代碼。它支持PHP5及更高的版本。它可作為一個調色板組件整合到針對PHP的Delphi編程環境中,從而讓其他人在運行時以創建組件的方式來引用。第一個版本提供17種圖表類型(2D和3D的多種組合),11個數學函數和一些圖表工具組件以擴展功能。
本教程是TeeChart for PHP教程中與系列一起工作這一節。本章節的內容主要分為以下幾個部分:
系列類型
在圖表上可混合系列類型
系列價值表
系列事件
系列類型
Series組件是所有Series類型的先驅者。
系列類結構
作為TeeChart類型庫結構的一小部分背景,下面是對系列類和接口的解釋。下圖顯示了TeeChart系列類之間的關系。所有類都派生自通用的Series類,因此共享Series方法。幾個抽象類派生自Series(Custom3DSeries,CustomBarSeries和CircledSeries),這些類以灰色突出顯示,并且它們的接口不能直接用于編程,它們的特性由其后代Series類型繼承。所有派生系列(橙色)均可在TeeChart圖庫中訪問,以包含在您的圖表中。以這種方式派生的TeeChart系列允許通過公共索引結構對繼承方法進行可編程訪問。
您可以在同一個圖表中創建和添加新的和不同的系列類型。
//Add a series at runtime $area1 = new Area($tChart1->getChart()); $area1->fillSampleValues(4); //Or $area1 = new Area(); $tChart1->addSeries($area1); $area1->fillSampleValues(4);
在同一圖表中混合不同系列類的一個示例是在設計時將區域(系列(0)),條形(系列(1))和線(系列(2))系列添加到圖表中。
所有系列訪問一個公共索引結構 - 圖表的系列列表。使用該系列可能如下所示:
getAspect()->setView3D(false); //$tChart1->getPanel()->getGradient()->setVisible(false); $tChart1->getPanel()->getGradient()->setEndColor(Color::GRAY()); //You could add the Series at runtime $area1 = new Area($tChart1->getChart()); $bar1 = new Bar($tChart1->getChart()); $line1 = new Line($tChart1->getChart()); $line2 = new Line($tChart1->getChart()); //Use Series common properties $tChart1->getSeries(0)->fillSampleValues(10); $tChart1->getSeries(1)->fillSampleValues(10); $tChart1->getSeries(2)->fillSampleValues(10); $tChart1->getSeries(3)->fillSampleValues(10); $area1->setColor(new Color(230,250,105)); $area1->getLinePen()->setVisible(false); $bar1->setColor(new Color(100,155,255)); $bar1->getMarks()->setColor(Color::WHITE()); $bar1->getMarks()->getPen()->setVisible(false); $bar1->getMarks()->getArrow()->setVisible(false); $bar1->getPen()->setVisible(false); $line1->setColor(Color::RED()); $line2->setColor(Color::FUCHSIA()); $bar1->setBarStyle(BarStyle::$PYRAMID); //Modify Line specific properties $line1->setStairs(true); //Set line to Stairs $line1->getLinePen()->setColor(Color::BLUE()); //LineSeries bounding lines colour $tChart1->render("chart1.png"); $rand=rand(); print ''; ?>
選擇系列類型
為圖表選擇系列類型很大程度上取決于您對圖表的要求。但是,有時候Chart的選擇取決于哪種Series類型支持輸入變量的數量,因為要繪制的變量數量很多。下表顯示了Series類型示例允許的變量數。
系列類型 | 數量的變量 | 數據源屬性 |
Basic | ||
Line | 2 | XValues, YValues, XLabel |
Fast Line | 2 | XValues, YValues, XLabel |
Bar | 2 | XValues, YValues (called Bar), XLabel |
HorizBar | 2 | XValues, YValues (called Bar), XLabel |
Area | 2 | XValues, YValues, XLabel |
Point | 2 | XValues, YValues, XLabel |
Pie | 1 | PieValues, XLabel |
Arrow | 4 | StartXValues, StartYValues, XLabel, EndXValues, EndYValues |
Bubble | 3 | Xvalues, YValues, XLabel, RadiusValues |
Gantt | 3 | StartValues, EndValues, AY (Y axis level), AXLabel (Label optionally shown on Y-axis or as mark) |
ShapeSeries | 4 | X0 (Top), Y0 (Bottom), X1 (Left), Y1 (Right) |
Extended | ||
Bezier | 2 | XValues, YValues, XLabel |
Candle | 5 | OpenValues, CloseValues, HighValues, LowValues, DateValues |
Point3D | 3 | XValues, YValues, XLabel, ZValues |
Volume | 2 | XValues, YValues (VolumeValues), XLabel |
標簽可用于擴展2變量Series Type的值。請參閱下面的示例,該示例是在同一圖表中使用3個Bar Series類型的實例。
產品代碼 | 月份 | 產量 |
10 | 1月 | 300 |
10 | 2月 | 325 |
10 | 3月 | 287 |
12 | 1月 | 175 |
12 | 2月 | 223 |
12 | 3月 | 241 |
14 | 1月 | 461 |
14 | 2月 | 470 |
14 | 3月 | 455 |
在最簡單的形式中,數據生成以下圖表:
我們在上表(Stock)中添加了新值。
產品代碼 | 月份 | 產量 | Stock |
10 | 1月 | 300 | 600 |
10 | 2月 | 325 | 715 |
10 | 3月 | 287 | 676 |
12 | 1月 | 175 | 245 |
12 | 2月 | 223 | 270 |
12 | 3月 | 241 | 315 |
14 | 1月 | 461 | 800 |
14 | 2月 | 470 | 755 |
14 | 3月 | 455 | 835 |
庫存的價值通常高于月產量,因此顯示它們會給出下面的圖表(這次是2D)。圖表使用線系列來區分股票。
將數據添加到系列
大多數系列類型(函數教程7除外)都使用Add和ADDXY方法添加數據。有一些例外,請參見下表:
顏色
添加點時,可以手動為點添加顏色。
$tChart1->addSeries(new Bar()); $tChart1->getSeries(0)->addYTextColor(50,"oranges", Color::ORANGE());
或者,您可以允許TeeChart分配顏色。如果ColorEach設置為true,TeeChart將為每個新系列選擇19種尚未使用的顏色之一,或者為每個新系列點選擇一種顏色。
$tChart1->getSeries(0)->setColorEach(true); for($i = 0; $i < 19; ++$i) { $higher = $i + 65; $tChart1->getSeries(0)->add(rand(0,100)); }
從系列中刪除數據點
使用Series.Delete從Series中刪除一個點。
$tChart1->getSeries(0)->delete(7); //(8th point - Points index start at zero)
Series-> Clear清除系列中的所有點。
將Null點添加到系列
顧名思義,AddNull將為系列添加一個Null點,允許您為該點定義一個標簽,但在該點處系列將會中斷。在線系列的情況下,休息前的最后一個點不會在休息后加入到第一個點。
$line = new Line($tChart1->getChart()); $line->addNull();
與系列一起工作(上)的教程就到這里了,下一節我們將會介紹與系列一起工作(下),主要內容是在圖表上可混合系列類型,系列價值表和系列事件,如果您對本文章有什么疑惑或者建議都可以在評論區留言,我們會及時處理。
TeeChart for PHP已加入在線訂購,現在搶購即可享受優惠!
關注慧聚IT微信公眾號???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: