Native Vector Charts
THPDFChart combina séries de dados, eixos, temas, legendas, etiquetas e texto de acessibilidade num modelo de gráfico reutilizável, renderizado por THPDFPage.DrawChart
O renderizador emite diretamente operadores PDF de paths e de texto, pelo que os gráficos ficam nítidos com qualquer nível de zoom e não criam Image XObjects
Chart model
THPDFChart owns its THPDFChartSeries instances and its two THPDFChartAxis objects, while each series grows point storage geometrically for amortised constant-time append
Chame THPDFChart.AddSeries with a THPDFChartKind value, then add finite coordinates through THPDFChartSeries.AddPoint
THPDFChart.ClearSeries liberta todas as séries que lhe pertencem, enquanto THPDFChartSeries.Clear mantém a configuração da série e remove apenas os respetivos pontos
As propriedades SeriesCount, Series, Count e Points dão acesso de leitura indexado ao modelo
Series and axes
hckLinedesenha paths ligados, com marcadores vetoriais e etiquetas de pontos opcionaishckBardesenha barras agrupadas em torno de cada coordenada X numérica e inclui o zero nos limites automáticos de YhckAreafecha cada série contra a linha de base zero visível e usa um preenchimento misturado, adaptado ao temahckPiedraws one positive-valued series as individually coloured vector wedgeshckScatterdraws independent vector markers at numeric coordinates
As séries de linha, barras, área e dispersão podem partilhar o mesmo gráfico cartesiano, enquanto um gráfico circular tem de conter exatamente uma série hckPie
THPDFChartAxis.AutomaticMinimum e AutomaticMaximum select data-driven bounds; disabling either property activates its corresponding Minimum ou Maximum value
TickCount é limitado ao intervalo de 2 a 20 no momento da renderização, ShowGrid controla as linhas da grelha dos eixos e NumberFormat define o formato numérico das marcas e das etiquetas geradas
Appearance and labels
THPDFChartTheme seleciona hctLight, hctDark, or hctMonochrome palettes
THPDFChartLegendPosition escolhe entre sem legenda, legenda à direita ou legenda em baixo, através de hclNone, hclRight e hclBottom
Each series exposes Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels, and labelled THPDFChartPoint dados
Defina Color com um TColor real para uma cor de série explícita, ou deixe o valor predefinido para usar a paleta ativa
Accessibility
THPDFChart.BuildAccessibleText devolve o AlternativeText explícito, se existir, ou constrói um resumo limitado com título, série, etiqueta, X e Y, com limites independentes de pontos e de bytes
Passe um pai de estrutura ao overload estendido de DrawChart para envolver o gráfico completo numa Figure etiquetada, com uma entrada Alt e uma caixa delimitadora de layout
O pai de estrutura deve ser, normalmente, um elemento de layout Document, Sect ou que contenha figuras, 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 no total, 512 etiquetas visíveis, 64 pontos no texto de acessibilidade gerado e 8192 bytes de acessibilidade
Geometria inválida, coordenadas não finitas, conteúdo circular misto e orçamentos de séries ou de pontos excedidos geram uma exceção antes de o desenho começar
THPDFChartRenderStatistics reports rendered series, points, labels, path segments, figure tagging, and label truncation
As passagens de validação e de renderização são lineares no número de séries e de pontos, com trabalho limitado nas etiquetas e na acessibilidade
Support types
The public surface comprises THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions, and 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;
Ver também: THPDFPage.DrawChart, Visão geral de gráficos vetoriais, Automatic PDF/UA Structure