Java를 사용한 프레젠테이션에서 차트 데이터 마커 관리

개요

이 문서는 Aspose.Slides에서 차트 데이터 마커를 사용하는 방법을 설명합니다. 차트를 생성하고 시리즈와 해당 데이터 포인트에 접근하며, 데이터 포인트 수준에서 마커에 그림 채우기를 적용하고, 마커 크기를 조정한 뒤 업데이트된 프레젠테이션을 저장하는 과정을 보여줍니다. 또한 표준 마커 모양이 MarkerStyleType 열거형을 통해 제공되며, 차트를 래스터 형식이나 SVG로 내보낼 때 마커 모양이 유지된다는 점을 언급합니다.

차트 마커 옵션 설정

마커는 특정 시리즈의 차트 데이터 포인트에 설정할 수 있습니다. 차트 마커 옵션을 설정하려면 아래 단계를 따르세요.

  • Presentation 클래스를 인스턴스화합니다.
  • 기본 차트를 생성합니다.
  • 그림을 설정합니다.
  • 첫 번째 차트 시리즈를 가져옵니다.
  • 새 데이터 포인트를 추가합니다.
  • 프레젠테이션을 디스크에 씁니다.

아래 예제에서는 데이터 포인트 수준에서 차트 마커 옵션을 설정했습니다.

// 빈 프레젠테이션 생성
Presentation pres = new Presentation();
try {
    // 첫 번째 슬라이드에 접근
    ISlide slide = pres.getSlides().get_Item(0);
    
    // 기본 차트 생성
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
    
    // 기본 차트 데이터 워크시트 인덱스 가져오기
    int defaultWorksheetIndex = 0;
    
    // 차트 데이터 워크시트 가져오기
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // 데모 시리즈 삭제
    chart.getChartData().getSeries().clear();
    
    // 새 시리즈 추가
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());

    // 그림 1 로드
    IPPImage imgx1 = pres.getImages().addImage(new FileInputStream(new File("Desert.jpg")));
    
    // 그림 2 로드
    IPPImage imgx2 = pres.getImages().addImage(new FileInputStream(new File("Tulips.jpg")));
    
    // 첫 번째 차트 시리즈 가져오기
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // 새 포인트 (1:3) 추가
    IChartDataPoint point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 1, 1, (double) 4.5));
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
    
    point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 2, 1, (double) 2.5));
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
    
    point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 3, 1, (double) 3.5));
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
    
    point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 4, 1, (double) 4.5));
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
    
    // 차트 시리즈 마커 변경
    series.getMarker().setSize(15);
    
    // 차트가 포함된 프레젠테이션 저장
    pres.save("ScatterChart.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

FAQ

기본 제공되는 마커 모양은 무엇입니까?

표준 모양(원, 사각형, 다이아몬드, 삼각형 등)이 제공되며, 목록은 MarkerStyleType 클래스로 정의됩니다. 비표준 모양이 필요하면 그림 채우기가 적용된 마커를 사용해 사용자 정의 시각 효과를 구현할 수 있습니다.

차트를 이미지나 SVG로 내보낼 때 마커가 유지됩니까?

예. 차트를 raster formats 로 렌더링하거나 shapes as SVG 로 저장할 때 마커는 크기, 채우기, 외곽선 등의 모양과 설정을 그대로 유지합니다.