Python via Java에서 프레젠테이션을 위한 차트 계산 최적화
개요
Aspose.Slides는 프레젠테이션에서 차트 계산 및 레이아웃 데이터를 처리하기 위한 API를 제공합니다. 이 문서에서는 차트 요소의 실제 값, 즉 차트 요소의 실제 위치와 크기 및 차트 축의 실제 값을 가져오는 방법을 보여줍니다. 또한 이러한 값은 차트 레이아웃 검증 후에 채워진다는 점을 설명합니다.
또한 이 문서에서는 상위 차트 요소의 실제 위치를 가져오는 방법과 제목, 축, 범례 및 눈금선과 같은 차트 구성 요소를 숨기는 방법을 설명합니다. 이러한 예제를 통해 차트 레이아웃 정보를 검토하고 PowerPoint 프레젠테이션에서 차트 요소의 표시 여부를 프로그래밍 방식으로 제어할 수 있습니다.
차트 요소의 실제 값 계산
Aspose.Slides for Python via Java는 이러한 속성을 가져오기 위한 간단한 API를 제공합니다. Axis 클래스의 메서드는 차트 축의 실제 값(getActualMaxValue,getActualMinValue,getActualMajorUnit,getActualMinorUnit,getActualMajorUnitScale,getActualMinorUnitScale)에 대한 정보를 제공합니다. 먼저 Chart.validateChartLayout 메서드를 호출하여 이러한 속성을 실제 값으로 채워야 합니다.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation
presentation = Presentation()
try:
chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 100, 100, 500, 350)
chart.validateChartLayout()
max_value = chart.getAxes().getVerticalAxis().getActualMaxValue()
min_value = chart.getAxes().getVerticalAxis().getActualMinValue()
major_unit = chart.getAxes().getHorizontalAxis().getActualMajorUnit()
minor_unit = chart.getAxes().getHorizontalAxis().getActualMinorUnit()
finally:
presentation.dispose()
상위 차트 요소의 실제 위치 계산
Aspose.Slides for Python via Java는 이러한 속성을 가져오기 위한 간단한 API를 제공합니다. ChartPlotArea 클래스의 메서드는 차트 플롯 영역의 실제 위치와 크기(getActualX,getActualY,getActualWidth,getActualHeight)에 대한 정보를 제공합니다. 먼저 Chart.validateChartLayout 메서드를 호출하여 이러한 속성을 실제 값으로 채워야 합니다.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation
presentation = Presentation()
try:
chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350)
chart.validateChartLayout()
x = chart.getPlotArea().getActualX()
y = chart.getPlotArea().getActualY()
width = chart.getPlotArea().getActualWidth()
height = chart.getPlotArea().getActualHeight()
finally:
presentation.dispose()
차트 요소 숨기기
이 섹션에서는 차트에서 정보를 숨기는 방법을 설명합니다. Aspose.Slides for Python via Java를 사용하면 제목, 수직 축, 수평 축, 및 눈금선을 숨길 수 있습니다. 다음 코드 예제는 이러한 속성을 사용하는 방법을 보여줍니다.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, FillType, LegendDataLabelPosition, LineDashStyle, MarkerStyleType, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 140, 118, 320, 370)
# 차트 제목 숨기기.
chart.setTitle(False)
# 값 축 숨기기.
chart.getAxes().getVerticalAxis().setVisible(False)
# 카테고리 축 숨기기.
chart.getAxes().getHorizontalAxis().setVisible(False)
# 범례 숨기기.
chart.setLegend(False)
# 주요 격자선 숨기기.
chart.getAxes().getHorizontalAxis().getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill)
# 첫 번째 시리즈만 유지합니다. 끝에서 제거하면 남은 인덱스가 유효하게 유지됩니다.
series_collection = chart.getChartData().getSeries()
while series_collection.size() > 1:
series_collection.removeAt(series_collection.size() - 1)
series = series_collection.get_Item(0)
series.getMarker().setSymbol(MarkerStyleType.Circle)
series.getLabels().getDefaultDataLabelFormat().setShowValue(True)
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.Top)
series.getMarker().setSize(15)
# 시리즈 선 색상 설정.
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid)
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.MAGENTA)
series.getFormat().getLine().setDashStyle(LineDashStyle.Solid)
presentation.save("HideInformationFromChart.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
FAQ
외부 Excel 워크북을 데이터 소스로 사용할 수 있으며, 재계산에 어떤 영향을 줍니까?
예. 차트는 외부 워크북을 참조할 수 있습니다. 외부 소스를 연결하거나 새로 고치면 해당 워크북에서 수식과 값이 가져와지며, 차트는 열기/편집 작업 중에 업데이트를 반영합니다. API를 사용하면 외부 워크북 지정 경로를 지정하고 연결된 데이터를 관리할 수 있습니다.
회귀를 직접 구현하지 않고도 추세선을 계산하고 표시할 수 있나요?
예. Trendlines (선형, 지수 등) 은 Aspose.Slides에 의해 추가 및 업데이트되며, 매개변수는 시리즈 데이터에서 자동으로 재계산되므로 직접 계산을 구현할 필요가 없습니다.
프레젠테이션에 외부 링크가 있는 차트가 여러 개 있는 경우, 각 차트가 사용한 워크북을 제어할 수 있나요?
예. 각 차트는 자체 external workbook을 지정할 수 있으며, 차트별로 외부 워크북을 독립적으로 생성하거나 교체할 수 있습니다.