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

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