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
hckLinedesenha caminhos conectados com marcadores vetoriais e rótulos de ponto opcionaishckBardesenha barras agrupadas em torno de cada coordenada X numérica e inclui zero nos limites Y automáticoshckAreafecha cada série contra a linha de base zero visível e usa um preenchimento mesclado ciente do temahckPiedesenha uma série de valores positivos como fatias vetoriais coloridas individualmentehckScatterdesenha marcadores vetoriais independentes em coordenadas numéricas
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