Gerenciar Marcadores de Dados de Gráfico em Apresentações Usando Python

Visão geral

Este artigo explica como trabalhar com marcadores de dados de gráfico no Aspose.Slides. Ele mostra como criar um gráfico, acessar uma série e seus pontos de dados, aplicar preenchimentos de imagem aos marcadores no nível do ponto de dados, ajustar o tamanho do marcador e salvar a apresentação atualizada. Também observa que os formatos padrão de marcadores estão disponíveis por meio da enumeração MarkerStyleType e que a aparência do marcador é preservada ao exportar gráficos para formatos raster ou SVG.

Definir opções de marcadores de gráfico

Os marcadores podem ser definidos nos pontos de dados do gráfico dentro de uma série específica. Para definir as opções de marcadores de gráfico, siga estas etapas:

  • Instanciar a classe Presentation.
  • Criar o gráfico padrão.
  • Definir as imagens.
  • Acessar a primeira série do gráfico.
  • Adicionar novos pontos de dados.
  • Salvar a apresentação no disco.

O exemplo a seguir define opções de marcadores de gráfico no nível do ponto de dados.

from pathlib import Path

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ChartType, FillType, Presentation, SaveFormat

# Crie uma apresentação vazia.
presentation = Presentation()
try:
    # Acesse o primeiro slide
    slide = presentation.getSlides().get_Item(0)

    # Criando o gráfico padrão
    chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400)

    # Obtenha o índice da planilha de dados do gráfico padrão.
    default_worksheet_index = 0

    # Obtenha a pasta de trabalho de dados do gráfico.
    workbook = chart.getChartData().getChartDataWorkbook()

    # Exclua a série de demonstração
    chart.getChartData().getSeries().clear()

    # Adicione nova série
    series_name_cell = workbook.getCell(default_worksheet_index, 1, 1, "Series 1")
    chart.getChartData().getSeries().add(series_name_cell, chart.getType())

    # Carregue a primeira imagem.
    desert_bytes = Path("Desert.jpg").read_bytes()
    desert_image = presentation.getImages().addImage(jpype.JArray(jpype.JByte)(desert_bytes))

    # Carregue a segunda imagem.
    tulips_bytes = Path("Tulips.jpg").read_bytes()
    tulips_image = presentation.getImages().addImage(jpype.JArray(jpype.JByte)(tulips_bytes))

    # Acesse a primeira série do gráfico.
    series = chart.getChartData().getSeries().get_Item(0)

    # Adicione pontos de dados.
    value_cell = workbook.getCell(default_worksheet_index, 1, 1, 4.5)
    point = series.getDataPoints().addDataPointForLineSeries(value_cell)
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture)
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(desert_image)

    value_cell = workbook.getCell(default_worksheet_index, 2, 1, 2.5)
    point = series.getDataPoints().addDataPointForLineSeries(value_cell)
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture)
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(tulips_image)

    value_cell = workbook.getCell(default_worksheet_index, 3, 1, 3.5)
    point = series.getDataPoints().addDataPointForLineSeries(value_cell)
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture)
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(desert_image)

    value_cell = workbook.getCell(default_worksheet_index, 4, 1, 4.5)
    point = series.getDataPoints().addDataPointForLineSeries(value_cell)
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture)
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(tulips_image)

    # Altere o tamanho do marcador da série do gráfico.
    series.getMarker().setSize(15)

    # Salve a apresentação com o gráfico
    presentation.save("MarkOptions_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Perguntas frequentes

Quais formatos de marcador estão disponíveis por padrão?

Formas padrão estão disponíveis (círculo, quadrado, losango, triângulo etc.); a lista é definida pela classe MarkerStyleType. Se precisar de uma forma não padrão, use um marcador com preenchimento de imagem para emular visuais personalizados.

Os marcadores são preservados ao exportar um gráfico para uma imagem ou SVG?

Sim. Ao renderizar gráficos para formatos raster ou salvar formas como SVG, os marcadores mantêm sua aparência e configurações, incluindo tamanho, preenchimento e contorno.