Gráficos vetoriais nativos

THPDFChart combina séries de dados, eixos, temas, legendas, rótulos e texto de acessibilidade em um modelo de gráfico reutilizável renderizado por THPDFPage.DrawChart

O renderizador emite operadores de caminho e texto PDF diretamente, de modo que os gráficos permanecem nítidos em qualquer nível de zoom e não criam Image XObjects

Modelo de gráfico

THPDFChart possui suas instâncias THPDFChartSeries e seus dois objetos THPDFChartAxis, enquanto cada série cresce o armazenamento de pontos geometricamente para anexação amortizada de tempo constante

Chame THPDFChart.AddSeries com um valor THPDFChartKind e depois adicione coordenadas finitas por meio de THPDFChartSeries.AddPoint

THPDFChart.ClearSeries libera todas as séries de propriedade, enquanto THPDFChartSeries.Clear retém a configuração da série e remove apenas seus pontos

As propriedades SeriesCount, Series, Count e Points fornecem acesso de leitura indexado ao modelo

Séries e eixos

Séries de linha, barra, área e dispersão podem compartilhar um único gráfico cartesiano, enquanto um gráfico de pizza deve conter exatamente uma série hckPie

THPDFChartAxis.AutomaticMinimum e AutomaticMaximum selecionam limites orientados por dados; desabilitar qualquer propriedade ativa seu valor correspondente Minimum ou Maximum

TickCount é limitado de 2 a 20 no momento da renderização, ShowGrid controla as linhas de grade dos eixos e NumberFormat fornece o formato numérico para ticks e rótulos gerados

Aparência e rótulos

THPDFChartTheme seleciona paletas hctLight, hctDark ou hctMonochrome

THPDFChartLegendPosition seleciona sem legenda, legenda à direita ou legenda inferior por meio de hclNone, hclRight e hclBottom

Cada série expõe Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels e dados THPDFChartPoint rotulados

Defina Color como um TColor real para uma cor de série explícita ou deixe o valor padrão para usar a paleta ativa

Acessibilidade

THPDFChart.BuildAccessibleText retorna AlternativeText explícito quando presente ou constrói um resumo limitado de título, série, rótulo, X e Y, com limites independentes de ponto e byte

Passe um pai de estrutura para a sobrecarga estendida DrawChart para envolver o gráfico completo em um Figure marcado com uma entrada Alt e caixa delimitadora de layout

O pai de estrutura normalmente deve ser um Document, Sect ou elemento de layout que contém figura criado para a página atual

Orçamentos e estatísticas

THPDFChartRenderOptions.Default permite 64 séries, 100.000 pontos por série, 1.000.000 de pontos totais, 512 rótulos visíveis, 64 pontos no texto de acessibilidade gerado e 8.192 bytes de acessibilidade

Geometria inválida, coordenadas não finitas, conteúdo de pizza misto e orçamentos de série ou ponto excedidos geram uma exceção antes que o desenho comece

THPDFChartRenderStatistics relata séries renderizadas, pontos, rótulos, segmentos de caminho, marcação de figura e truncamento de rótulo

As passagens de validação e renderização são lineares no número de séries e pontos, com trabalho limitado de rótulo e acessibilidade

Tipos de suporte

A superfície pública compreende THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions e THPDFChartRenderStatistics

Exemplo

Chart := THPDFChart.Create;
try
  Chart.Title := 'Quarterly revenue';
  Chart.XAxis.Title := 'Quarter';
  Chart.YAxis.Title := 'Revenue';
  Chart.Theme := hctLight;

  SeriesItem := Chart.AddSeries(hckBar, 'North');
  SeriesItem.ShowLabels := True;
  SeriesItem.AddPoint(1, 120, 'Q1');
  SeriesItem.AddPoint(2, 175, 'Q2');
  SeriesItem.AddPoint(3, 164, 'Q3');

  Options := THPDFChartRenderOptions.Default;
  Document.CurrentPage.DrawChart(
    Chart, 48, 72, 500, 320, Options, Statistics
  );
finally
  Chart.Free;
end;

Veja também: THPDFPage.DrawChart, Vector Graphics Overview, Automatic PDF/UA Structure