Gráficos vectoriales nativos

THPDFChart combina series de datos, ejes, temas, leyendas, etiquetas y texto de accesibilidad en un modelo de gráfico reutilizable renderizado por THPDFPage.DrawChart

El renderizador emite operadores de ruta y texto PDF directamente, por lo que los gráficos permanecen nítidos a cualquier nivel de zoom y no crean Image XObjects

Modelo de gráfico

THPDFChart es propietario de sus instancias THPDFChartSeries y de sus dos objetos THPDFChartAxis, mientras que cada serie hace crecer el almacenamiento de puntos geométricamente para una anexión de tiempo constante amortizado

Llame a THPDFChart.AddSeries con un valor THPDFChartKind y luego añada coordenadas finitas mediante THPDFChartSeries.AddPoint

THPDFChart.ClearSeries libera todas las series propiedad del objeto, mientras que THPDFChartSeries.Clear conserva la configuración de la serie y elimina solo sus puntos

Las propiedades SeriesCount, Series, Count y Points proporcionan acceso de lectura indexado al modelo

Series y ejes

Las series de línea, barra, área y dispersión pueden compartir un único gráfico cartesiano, mientras que un gráfico circular debe contener exactamente una serie hckPie

THPDFChartAxis.AutomaticMinimum y AutomaticMaximum seleccionan límites basados en datos; deshabilitar cualquiera de las propiedades activa su valor Minimum o Maximum correspondiente

TickCount se limita a 2 a 20 en el momento del renderizado, ShowGrid controla las líneas de cuadrícula de los ejes y NumberFormat proporciona el formato numérico para las marcas y las etiquetas generadas

Apariencia y etiquetas

THPDFChartTheme selecciona las paletas hctLight, hctDark o hctMonochrome

THPDFChartLegendPosition selecciona sin leyenda, una leyenda a la derecha o una leyenda inferior mediante hclNone, hclRight y hclBottom

Cada serie expone Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels y datos THPDFChartPoint etiquetados

Establezca Color en un TColor real para un color de serie explícito o deje el valor predeterminado para usar la paleta activa

Accesibilidad

THPDFChart.BuildAccessibleText devuelve el AlternativeText explícito cuando está presente o construye un resumen acotado de título, serie, etiqueta, X e Y, con límites independientes de puntos y bytes

Pase un elemento principal de estructura a la sobrecarga extendida de DrawChart para envolver el gráfico completo en una Figure etiquetada con una entrada Alt y una caja delimitadora de diseño

El elemento principal de estructura normalmente debería ser un Document, Sect o un elemento de diseño que contenga figuras creado para la página actual

Presupuestos y estadísticas

THPDFChartRenderOptions.Default permite 64 series, 100 000 puntos por serie, 1 000 000 de puntos en total, 512 etiquetas visibles, 64 puntos en el texto de accesibilidad generado y 8 192 bytes de accesibilidad

La geometría no válida, las coordenadas no finitas, el contenido circular mixto y los presupuestos de series o puntos superados generan una excepción antes de que comience el dibujo

THPDFChartRenderStatistics informa de las series, puntos, etiquetas, segmentos de ruta, etiquetado de figuras y truncamiento de etiquetas renderizados

Las pasadas de validación y renderizado son lineales en el número de series y puntos, con trabajo acotado de etiquetas y accesibilidad

Tipos de soporte

La superficie pública comprende THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions y THPDFChartRenderStatistics

Ejemplo

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;

Véase también: THPDFPage.DrawChart, Descripción general de gráficos vectoriales, Estructura PDF/UA automática