Python에서 프레젠테이션 차트의 플롯 영역 사용자 정의
개요
이 문서에서는 Aspose.Slides에서 차트의 플롯 영역을 사용하는 방법을 보여줍니다. 차트 레이아웃을 검증한 후 플롯 영역의 X, Y, 너비 및 높이 값을 읽어 실제 위치와 크기를 확인하는 방법을 설명합니다.
LayoutTargetType을 사용하여 레이아웃을 수동으로 설정할 때 플롯 영역의 레이아웃 모드를 구성하는 방법도 보여줍니다. 이때 플롯 영역이 내부 영역만을 기준으로 계산되는지, 축 및 축 레이블을 포함한 외부 영역을 기준으로 계산되는지를 정의합니다.
차트 플롯 영역의 너비와 높이 가져오기
Aspose.Slides for Python via .NET은 간단한 API를 제공합니다.
- 새로운 프레젠테이션 클래스 인스턴스를 생성합니다.
- 첫 번째 슬라이드에 접근합니다.
- 기본 데이터가 있는 차트를 추가합니다.
- 실제 값을 얻기 위해 IChart.ValidateChartLayout() 메서드를 호출합니다.
- 차트 요소의 실제 X 위치(왼쪽)를 차트 왼쪽 상단 모서리를 기준으로 가져옵니다.
- 차트 요소의 실제 상단 위치를 차트 왼쪽 상단 모서리를 기준으로 가져옵니다.
- 차트 요소의 실제 너비를 가져옵니다.
- 차트 요소의 실제 높이를 가져옵니다.
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350)
chart.validate_chart_layout()
x = chart.plot_area.actual_x
y = chart.plot_area.actual_y
w = chart.plot_area.actual_width
h = chart.plot_area.actual_height
# 차트가 포함된 프레젠테이션 저장
pres.save("Chart_out.pptx", slides.export.SaveFormat.PPTX)
차트 플롯 영역의 레이아웃 모드 설정
Aspose.Slides for Python via .NET은 차트 플롯 영역의 레이아웃 모드를 설정하는 간단한 API를 제공합니다. LayoutTargetType 속성이 ChartPlotArea 및 IChartPlotArea 클래스에 추가되었습니다. 플롯 영역의 레이아웃을 수동으로 정의한 경우, 이 속성은 영역을 내부(축 및 축 레이블 제외) 기준으로 레이아웃할지 외부(축 및 축 레이블 포함) 기준으로 레이아웃할지를 지정합니다. LayoutTargetType 열거형에 정의된 두 가지 가능한 값이 있습니다.
- LayoutTargetType.Inner - 플롯 영역의 크기가 플롯 영역의 크기를 결정하도록 하며, 눈금표시와 축 레이블은 포함하지 않습니다.
- LayoutTargetType.Outer - 플롯 영역의 크기가 플롯 영역, 눈금표시 및 축 레이블의 크기를 모두 결정하도록 합니다.
Sample code is given below.
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 100, 600, 400)
chart.plot_area.as_i_layoutable.x = 0.2
chart.plot_area.as_i_layoutable.y = 0.2
chart.plot_area.as_i_layoutable.width = 0.7
chart.plot_area.as_i_layoutable.height = 0.7
chart.plot_area.layout_target_type = charts.LayoutTargetType.INNER
presentation.save("SetLayoutMode_outer.pptx", slides.export.SaveFormat.PPTX)
FAQ
actual_x, actual_y, actual_width 및 actual_height는 어떤 단위로 반환됩니까?
포인트 단위이며, 1인치 = 72포인트입니다. 이는 Aspose.Slides 좌표 단위입니다.
플롯 영역은 내용면에서 차트 영역과 어떻게 다릅니까?
플롯 영역은 데이터 그리기 영역(시리즈, 격자선, 추세선 등)이며, 차트 영역은 주변 요소(제목, 범례 등)를 포함합니다. 3D 차트의 경우 플롯 영역에는 벽·바닥 및 축도 포함됩니다.
레이아웃이 수동일 때 플롯 영역의 X, Y, Width, Height는 어떻게 해석됩니까?
차트 전체 크기에 대한 비율(0~1)로 해석됩니다. 이 모드에서는 자동 위치 지정이 비활성화되고 설정한 비율이 사용됩니다.
범례를 추가하거나 이동한 후 플롯 영역 위치가 왜 변경되었나요?
범례는 플롯 영역 외부의 차트 영역에 위치하지만 레이아웃과 사용 가능한 공간에 영향을 주므로 자동 위치 지정이 적용될 경우 플롯 영역이 이동할 수 있습니다. (이는 PowerPoint 차트의 일반적인 동작입니다.)