在 C++ 中格式化簡報圖表
概觀
本文說明如何在 PowerPoint 簡報中使用 Aspose.Slides 來格式化圖表。它展示了如何自訂圖表的關鍵元素,如座標軸、格線、標題、圖例、繪圖區域及牆面填色,以提升圖表資料的外觀與可讀性。它還示範了如何設定圖表文字的字型屬性、套用預設與自訂的數值格式到圖表資料,並啟用圖表區域的圓角。透過這些範例,可了解如何同時控制簡報中圖表的視覺樣式與資料呈現方式。
格式化圖表實體
Aspose.Slides for C++ 讓開發人員可以從頭在投影片中新增自訂圖表。本文說明如何格式化不同的圖表實體,包括圖表類別軸與數值軸。
Aspose.Slides for C++ 提供簡易的 API 以管理不同的圖表實體,並使用自訂值進行格式設定:
- 建立 Presentation 類別的實例。
- 依索引取得投影片的參考。
- 加入一個帶有預設資料的圖表,並選擇任意所需類型(本例使用 ChartType.LineWithMarkers)。
- 存取圖表的數值軸,並設定以下屬性:
- 設定 數值軸主要格線的 Line format
- 設定 數值軸次要格線的 Line format
- 設定 數值軸的 Number Format
- 設定 數值軸的 Min, Max, Major and Minor units
- 設定 數值軸資料的 Text Properties
- 設定 數值軸的 Title
- 設定 數值軸的 Line Format
- 存取圖表的類別軸,並設定以下屬性:
- 設定 類別軸主要格線的 Line format
- 設定 類別軸次要格線的 Line format
- 設定 類別軸資料的 Text Properties
- 設定 類別軸的 Title
- 設定 類別軸的 Label Positioning
- 設定 類別軸標籤的 Rotation Angle
- 存取圖表圖例,並為其設定 Text Properties
- 設定顯示圖表圖例且不與圖表重疊
- 存取圖表的 Secondary Value Axis,並設定以下屬性:
- 啟用次要 Value Axis
- 設定 次要數值軸的 Line Format
- 設定 次要數值軸的 Number Format
- 設定 次要數值軸的 Min, Max, Major and Minor units
- 現在在次要數值軸上繪製第一個圖表系列
- 將圖表背面牆設為填色
- 設定圖表繪圖區域的填色
- 將修改後的簡報寫入 PPTX 檔案
為圖表設定字型屬性
Aspose.Slides for C++ 提供設定圖表字型相關屬性的支援。請依照以下步驟為圖表設定字型屬性。
- 實例化 Presentation 類別的物件。
- 在投影片上加入圖表。
- 設定字型高度。
- 儲存修改後的簡報。
以下提供範例程式碼。
為圖表資料表設定字型屬性
Aspose.Slides for C++ 提供變更系列中類別顏色的支援。
- 實例化 Presentation 類別的物件。
- 在投影片上加入圖表。
- 設定圖表資料表。
- 設定字型高度。
- 儲存修改後的簡報。
以下提供範例程式碼。
設定圖表區域圓角邊框
Aspose.Slides for C++ 提供設定圖表區域的支援。已在 Aspose.Slides 中加入 IChart.HasRoundedCorners 與 Chart.HasRoundedCorners 屬性。
- 實例化 Presentation 類別的物件。
- 在投影片上加入圖表。
- 設定圖表的填充類型與填充顏色
- 將圓角屬性設為 True。
- 儲存修改後的簡報。
以下提供範例程式碼。
設定數值格式
Aspose.Slides for C++ 提供簡易的 API 以管理圖表資料格式:
- 建立 Presentation 類別的實例。
- 依索引取得投影片的參考。
- 加入一個帶有預設資料的圖表,並選擇任意所需類型(本例使用 ChartType.ClusteredColumn)。
- 從可能的預設值中設定預設數字格式。
- 遍歷每個圖表系列中的圖表資料儲存格,並設定圖表資料的數字格式。
- 儲存簡報。
- 設定自訂數字格式。
- 遍歷每個圖表系列中的圖表資料儲存格,設定不同的圖表資料數字格式。
- 儲存簡報。
| 以下列出可使用的預設數值格式值及其索引: | |
|---|---|
| 0 | General |
| :- | :- |
| 1 | 0 |
| 2 | 0.00 |
| 3 | #,##0 |
| 4 | #,##0.00 |
| 5 | $#,##0;$-#,##0 |
| 6 | $#,##0;Red$-#,##0 |
| 7 | $#,##0.00;$-#,##0.00 |
| 8 | $#,##0.00;Red$-#,##0.00 |
| 9 | 0% |
| 10 | 0.00% |
| 11 | 0.00E+00 |
| 12 | # ?/? |
| 13 | # / |
| 14 | m/d/yy |
| 15 | d-mmm-yy |
| 16 | d-mmm |
| 17 | mmm-yy |
| 18 | h:mm AM/PM |
| 19 | h:mm:ss AM/PM |
| 20 | h:mm |
| 21 | h:mm:ss |
| 22 | m/d/yy h:mm |
| 37 | #,##0;-#,##0 |
| 38 | #,##0;Red-#,##0 |
| 39 | #,##0.00;-#,##0.00 |
| 40 | #,##0.00;Red-#,##0.00 |
| 41 | _ * #,##0_ ;_ * “_ ;_ @_ |
| 42 | _ $* #,##0_ ;_ $* “_ ;_ @_ |
| 43 | _ * #,##0.00_ ;_ * “??_ ;_ @_ |
| 44 | _ $* #,##0.00_ ;_ $* “??_ ;_ @_ |
| 45 | mm:ss |
| 46 | h:mm:ss |
| 47 | mm:ss.0 |
| 48 | ##0.0E+00 |
| 49 | @ |
FAQ
我可以為柱狀/區域設定半透明填色,同時保持邊框不透明嗎?
可以。填色的透明度與輪廓是分別設定的。這在密集的可視化圖表中有助於提升格線與資料的可讀性。
當資料標籤重疊時,我該如何處理?
減小字型大小、停用非必要的標籤組件(例如類別)、設定標籤的偏移/位置、必要時僅顯示選取點的標籤,或將格式切換為「值 + 圖例」。
我可以對系列套用漸層或圖案填色嗎?
可以。通常同時支援純色與漸層/圖案填色。實務上請節制使用漸層,並避免與格線和文字形成對比度低的組合。