Grafici Vettoriali Nativi
THPDFChart combina serie di dati, assi, temi, legende, etichette e testo di accessibilità in un modello di grafico riutilizzabile renderizzato da THPDFPage.DrawChart
Il renderer emette direttamente operatori PDF di percorso e testo, quindi i grafici restano nitidi a qualsiasi livello di zoom e non creano Image XObjects
Modello del grafico
THPDFChart possiede le sue istanze THPDFChartSeries e i suoi due oggetti THPDFChartAxis, mentre ogni serie cresce lo storage dei punti geometricamente per un append a tempo costante ammortizzato
Chiamare THPDFChart.AddSeries con un valore THPDFChartKind, poi aggiungere coordinate finite tramite THPDFChartSeries.AddPoint
THPDFChart.ClearSeries rilascia tutte le serie di proprietà, mentre THPDFChartSeries.Clear conserva la configurazione della serie e rimuove solo i suoi punti
Le proprietà SeriesCount, Series, Count e Points offrono accesso indicizzato in lettura al modello
Serie e assi
hckLinedisegna percorsi collegati con marker vettoriali ed etichette di punto opzionalihckBardisegna gruppi di barre attorno a ogni coordinata X numerica e include lo zero nei limiti Y automaticihckAreachiude ogni serie sulla baseline visibile dello zero e usa un riempimento sfumato consapevole del temahckPiedisegna una sola serie con valori positivi come spicchi vettoriali colorati singolarmentehckScatterdisegna marker vettoriali indipendenti alle coordinate numeriche
Le serie a linee, barre, area e dispersione possono condividere un unico piano cartesiano, mentre un grafico a torta deve contenere esattamente una serie hckPie
THPDFChartAxis.AutomaticMinimum e AutomaticMaximum selezionano limiti guidati dai dati; disattivare una delle due proprietà attiva il corrispondente valore Minimum o Maximum
TickCount viene forzato tra 2 e 20 al momento del rendering, ShowGrid controlla le linee della griglia degli assi, e NumberFormat fornisce il formato numerico per tacche ed etichette generate
Aspetto ed etichette
THPDFChartTheme seleziona le palette hctLight, hctDark o hctMonochrome
THPDFChartLegendPosition seleziona nessuna legenda, una legenda a destra o una in basso tramite hclNone, hclRight e hclBottom
Ogni serie espone Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels e dati THPDFChartPoint con etichetta
Impostare Color a un vero TColor per un colore esplicito della serie oppure lasciare il valore predefinito per usare la palette attiva
Accessibilità
THPDFChart.BuildAccessibleText restituisce un AlternativeText esplicito quando presente oppure costruisce un riassunto limitato di titolo, serie, etichetta, X e Y, con limiti indipendenti per punti e byte
Passare un structure parent all'overload esteso di DrawChart per incapsulare l'intero grafico in un Figure taggato con una voce Alt e il bounding box di layout
Il structure parent dovrebbe in genere essere un Document, Sect o un elemento di layout che contiene figure, creato per la pagina corrente
Budget e statistiche
THPDFChartRenderOptions.Default ammette 64 serie, 100.000 punti per serie, 1.000.000 di punti totali, 512 etichette visibili, 64 punti nel testo di accessibilità generato e 8.192 byte di accessibilità
Geometrie non valide, coordinate non finite, contenuto misto di torta e superamento dei budget di serie o punti sollevano un'eccezione prima che il disegno inizi
THPDFChartRenderStatistics riporta serie, punti ed etichette renderizzati, segmenti di percorso, tagging delle figure e troncamento delle etichette
I passaggi di validazione e rendering sono lineari nel numero di serie e punti, con lavoro su etichette e accessibilità limitato
Tipi di supporto
La superficie pubblica comprende THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions e THPDFChartRenderStatistics
Esempio
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;
Vedi anche: THPDFPage.DrawChart, Panoramica della grafica vettoriale, Struttura PDF/UA automatica