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

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