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
hckLinedibuja rutas conectadas con marcadores vectoriales y etiquetas de punto opcionaleshckBardibuja barras agrupadas alrededor de cada coordenada X numérica e incluye el cero en los límites Y automáticoshckAreacierra cada serie contra la línea base cero visible y usa un relleno combinado consciente del temahckPiedibuja una serie de valores positivos como cuñas vectoriales coloreadas individualmentehckScatterdibuja marcadores vectoriales independientes en coordenadas numéricas
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