Personalizar legendas de gráfico em apresentações usando JavaScript

Visão geral

Aspose.Slides oferece opções para personalizar legendas de gráficos em apresentações do PowerPoint. Este artigo mostra como posicionar e dimensionar uma legenda, definir o tamanho da fonte para toda a legenda e aplicar formatação a uma entrada individual da legenda.

Ele também aborda vários comportamentos relacionados nas Perguntas Frequentes, incluindo o uso do modo sem sobreposição para que a área do gráfico reserve espaço para a legenda, permitir que rótulos longos de legenda quebrem em linhas ou usem quebras de linha, e permitir que a formatação da legenda herde do tema da apresentação quando configurações explícitas de texto e preenchimento não forem aplicadas.

Posicionamento da legenda

Para definir as propriedades da legenda, siga os passos abaixo:

  • Crie uma instância da classe Presentation.
  • Obtenha a referência do slide.
  • Adicione um gráfico ao slide.
  • Defina as propriedades da legenda.
  • Grave a apresentação como um arquivo PPTX.

No exemplo abaixo, definimos a posição e o tamanho da legenda do gráfico.

// Crie uma instância da classe Presentation
var pres = new aspose.slides.Presentation();
try {
    // Obtenha a referência do slide
    var slide = pres.getSlides().get_Item(0);
    // Adicione um gráfico de colunas agrupadas no slide
    var chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 500, 500);
    // Defina as propriedades da legenda
    chart.getLegend().setX(50 / chart.getWidth());
    chart.getLegend().setY(50 / chart.getHeight());
    chart.getLegend().setWidth(100 / chart.getWidth());
    chart.getLegend().setHeight(100 / chart.getHeight());
    // Grave a apresentação no disco
    pres.save("Legend_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Definir tamanho da fonte da legenda

O Aspose.Slides para Node.js via Java permite que os desenvolvedores definam o tamanho da fonte da legenda. Siga os passos abaixo:

  • Instancie a classe Presentation.
  • Crie o gráfico padrão.
  • Defina o tamanho da fonte.
  • Defina o valor mínimo do eixo.
  • Defina o valor máximo do eixo.
  • Grave a apresentação no disco.
// Crie uma instância da classe Presentation
var pres = new aspose.slides.Presentation();
try {
    var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
    chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(20);
    chart.getAxes().getVerticalAxis().setAutomaticMinValue(false);
    chart.getAxes().getVerticalAxis().setMinValue(-5);
    chart.getAxes().getVerticalAxis().setAutomaticMaxValue(false);
    chart.getAxes().getVerticalAxis().setMaxValue(10);
    pres.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Definir tamanho da fonte de legenda individual

O Aspose.Slides para Node.js via Java permite que os desenvolvedores definam o tamanho da fonte de entradas individuais da legenda. Siga os passos abaixo:

  • Instancie a classe Presentation.
  • Crie o gráfico padrão.
  • Acesse a entrada da legenda.
  • Defina o tamanho da fonte.
  • Defina o valor mínimo do eixo.
  • Defina o valor máximo do eixo.
  • Grave a apresentação no disco.
// Crie uma instância da classe Presentation
var pres = new aspose.slides.Presentation();
try {
    var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
    var tf = chart.getLegend().getEntries().get_Item(1).getTextFormat();
    tf.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    tf.getPortionFormat().setFontHeight(20);
    tf.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    tf.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    tf.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
    pres.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Perguntas Frequentes

Posso habilitar a legenda para que o gráfico aloque automaticamente espaço para ela em vez de sobrepô-la?

Sim. Use o modo sem sobreposição (setOverlay(false)); nesse caso, a área do gráfico será reduzida para acomodar a legenda.

Posso criar rótulos de legenda em várias linhas?

Sim. Rótulos longos são quebrados automaticamente quando o espaço é insuficiente; quebras de linha forçadas são suportadas por meio de caracteres de nova linha no nome da série.

Como faço a legenda seguir o esquema de cores do tema da apresentação?

Não defina cores/preenchimentos/fontes explícitos para a legenda ou seu texto. Eles então herdarão do tema e serão atualizados corretamente quando o design mudar.