圖表
# 圖表
# 1. 建立圖表
FastReport可以將圖表插入報表中。使用的圖表對像來源於TeeChart庫。我們用簡單的圖表來製作一份示例報表。使用以下SQL產生數據集並將其引入。
SELECT 5 AS Num,'襯衫' AS Name
UNION
SELECT 25 AS Num,'羊毛衫' AS Name
UNION
SELECT 36 AS Num,'雪紡衫' AS Name
UNION
SELECT 15 AS Num,'褲子' AS Name
UNION
SELECT 10 AS Num,'高跟鞋' AS Name
UNION
SELECT 20 AS Num,'襪子' AS Name
2
3
4
5
6
7
8
9
10
11
打開報表設計器,並在報表-數據...
對話方塊中連線數據源將圖表對像新增到報表設計頁面,並將其大小設定為18釐米寬x 8釐米高。雙擊打開其對像編輯器。
圖示說明如下:
- 圖表結構; 圖表可以包含一個或多個系列。
- 對像檢查器,顯示在視窗中選擇的元素的屬性,在此處設定圖表屬性。
- 用於連線系列和數據的選項區域一旦選擇了區域1中的系列,它就會被啟用。
首次打開時,圖表編輯器將顯示在上圖所示的影象中。第一個任務是向圖表新增一個或多個系列(在我們的示例中只是一個系列)。通過單擊新增按鈕,並在庫中選擇餅圖來執行此操作:
垂直箭頭更改列表中序列的順序。要更改系列的名稱,請選擇系列,然後再過一秒鐘再次單擊它(請注意,這不是雙擊)。
有許多不同型別的系列可供選擇。新增一系列后,選項區域3變為活動狀態。在此處指定應使用哪些數據繪製圖表。首先,讓我們在「DataSet」下拉選單中選擇數據集。然後使用各自的下拉選單選擇Label
和Pie
欄位,如下所示:
單擊[確定]
關閉編輯器並預覽報表:
本報表中可以改進哪些內容?按降序對群體進行排序會很不錯。再次打開圖表編輯器,在圖表結構中選擇系列,並將排序順序從無
更改為遞減
:
如果我們現在預覽報表,我們會看到圖例表中的數據已按降序排序。
# 2. 限制圖表值的數量
在設計圖表時,如果有許多較小數值的專案會導致圖表變得零碎,FastReport允許您限制圖表中顯示的值的數量。超過設定數量的所有值都會顯示為單個複合值,由所有這些值的總和組成。
比如我們的例子中有6個數值,如果設定為只顯示前四個,打開圖表編輯器,將限制設定為3:
如果前N名的值
設定為零,則沒有限制。應在前N名的標題
中輸入名稱,以便在圖例列表中正確標識聚合值。排序模式無關緊要,因為預設情況下值始終按降序排序。該報表將如下所示:
# 3. 其他設定
讓我們看一下控制圖表外觀的一些有用設定。只能通過圖表編輯器的對象檢查器訪問這些設定。
在圖表結構中選擇「圖表」時,這些基本屬性可用:
Gradient
:漸變背景填充的設定。啟用Gradient.Visible
屬性以顯示漸變效果。Legend
:圖例列表的設定。可以通過Legend.Visible
屬性隱藏List,並通過Legend.Alignment
屬性設定其位置。
選擇系列后,可以使用以下屬性:
ColorEachPoint
:使用不同的顏色為每個值著色。ExplodeBiggest
:開始處使用最大值(僅適用於餅圖)。Marks
:圖表標記外觀的設定。ValueFormat
:格式化值的行。
關於圖表的其他功能說明可以參考TeeChart說明。
# 4. 手動輸入值的圖表
在前面的示例中,我們使用資料庫表中的數據建立了一個圖表。也可以從手動輸入的數據建立圖表。如果圖表很小,這種方法很方便。讓我們用一個簡單的例子演示它是如何工作的。在報表設計頁面上放置圖表並打開圖表編輯器。新增一系列「條形圖」型別並設定這些屬性,使用分號分隔各個值。
結果圖表是:
# 5. 通過指令碼建立圖表
讓我們看看如何使用指令碼構建上一個圖表。在圖表編輯器中將Label和Y欄位留空。在報表指令碼中輸入以下程式碼:
begin
Chart1.SeriesData[0].XSource := 'Jan;Feb;Mar;Apr';
Chart1.SeriesData[0].YSource := '31;28;31;30';
end.
2
3
4
在這種情況下,SeriesData[0]
允許我們為圖表中的第一個系列設定參數。如果圖表有多個系列,則用SeriesData[1]
等引用它們。