在 JavaScript 中自訂簡報圖表的繪圖區
概觀
本文說明如何在 Aspose.Slides 中操作圖表的繪圖區。它解釋了如何透過驗證圖表版面配置,然後讀取其 X、Y、寬度和高度值,以取得繪圖區的實際位置與大小。
它還示範了在手動設定版面配置時,如何使用 LayoutTargetType 來設定繪圖區的版面模式,以定義是以內部區域(不含坐標軸和坐標標籤)或外部區域(包含坐標軸和坐標標籤)來計算繪圖區。
取得圖表繪圖區的寬度與高度
Aspose.Slides for Node.js via Java 提供簡單的 API。
- 建立 Presentation 類別的實例。
- 存取第一張投影片。
- 加入含預設資料的圖表。
- 呼叫方法 Chart.validateChartLayout() 以取得實際值。
- 取得圖表元素相對於圖表左上角的實際 X 位置(左側)。
- 取得圖表元素相對於圖表左上角的實際 Y 位置(上方)。
- 取得圖表元素的實際寬度。
- 取得圖表元素的實際高度。
// 建立 Presentation 類別的實例
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350);
chart.validateChartLayout();
var x = chart.getPlotArea().getActualX();
var y = chart.getPlotArea().getActualY();
var w = chart.getPlotArea().getActualWidth();
var h = chart.getPlotArea().getActualHeight();
} finally {
if (pres != null) {
pres.dispose();
}
}
設定圖表繪圖區的版面模式
Aspose.Slides for Node.js via Java 提供簡單的 API 來設定圖表繪圖區的版面模式。已在 ChartPlotArea 類別中加入方法 setLayoutTargetType 與 getLayoutTargetType。如果手動定義繪圖區的版面,此屬性指定是依內部(不包含坐標軸與坐標標籤)或外部(包含坐標軸與坐標標籤)來布局繪圖區。此屬性有兩個可能的值,定義於 LayoutTargetType 列舉。
- LayoutTargetType.Inner - 指定繪圖區的大小僅決定繪圖區本身的大小,不包括刻度標記與坐標標籤。
- LayoutTargetType.Outer - 指定繪圖區的大小決定繪圖區本身、刻度標記與坐標標籤的大小。
以下示範程式碼。
// 建立 Presentation 類別的實例
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 20, 100, 600, 400);
chart.getPlotArea().setX(0.2);
chart.getPlotArea().setY(0.2);
chart.getPlotArea().setWidth(0.7);
chart.getPlotArea().setHeight(0.7);
chart.getPlotArea().setLayoutTargetType(aspose.slides.LayoutTargetType.Inner);
pres.save("SetLayoutMode_outer.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
常見問題
實際的 X、Y、寬度與高度以什麼單位回傳?
以點 (point) 為單位;1 英吋 = 72 點。這是 Aspose.Slides 的座標單位。
繪圖區與圖表區在內容上有何不同?
繪圖區是資料繪製區域(系列、格線、趨勢線等);圖表區則包含其周圍的元素(標題、圖例等)。在 3D 圖表中,繪圖區還包括牆面/底面及坐標軸。
當版面手動設定時,繪圖區的 X、Y、寬度與高度如何解讀?
它們是相對於圖表整體大小的比例(0–1);在此模式下會停用自動定位,使用您設定的比例值。
為何在加入或移動圖例後繪圖區位置會改變?
圖例位於繪圖區之外的圖表區域,但會影響版面配置與可用空間,因而在啟用自動定位時會導致繪圖區移動。(這是 PowerPoint 圖表的標準行為。)