Native Vektordiagramme
THPDFChart verbindet Datenreihen, Achsen, Themen, Legenden, Beschriftungen und Text für Barrierefreiheit zu einem wiederverwendbaren Diagrammmodell, das THPDFPage.DrawChart rendert
Der Renderer gibt PDF-Pfad- und Textoperatoren direkt aus, sodass Diagramme bei jeder Zoomstufe scharf bleiben und keine Image XObjects erzeugen
Diagrammmodell
THPDFChart besitzt seine Instanzen von THPDFChartSeries und seine zwei Objekte von THPDFChartAxis, während jede Reihe den Punktspeicher geometrisch für amortisiertes Anhängen mit konstanter Zeit erweitert
Rufen Sie THPDFChart.AddSeries mit einem Wert von THPDFChartKind auf und fügen Sie dann endliche Koordinaten mit THPDFChartSeries.AddPoint hinzu
THPDFChart.ClearSeries gibt alle besessenen Reihen frei, während THPDFChartSeries.Clear die Reihenkonfiguration bewahrt und nur ihre Punkte entfernt
Die Eigenschaften SeriesCount, Series, Count und Points ermöglichen indizierten Lesezugriff auf das Modell
Reihen und Achsen
hckLinezeichnet verbundene Pfade mit optionalen Vektormarkierungen und PunktbeschriftungenhckBarzeichnet gruppierte Balken um jede numerische X-Koordinate und schließt null in automatische Y-Grenzen einhckAreaschließt jede Reihe gegen die sichtbare Nulllinie und verwendet eine themenabhängig gemischte FüllunghckPiezeichnet eine Reihe positiver Werte als einzeln gefärbte VektorsektorenhckScatterzeichnet unabhängige Vektormarkierungen an numerischen Koordinaten
Linien-, Balken-, Flächen- und Streureihen können einen kartesischen Plot teilen, während ein Kreisdiagramm genau eine hckPie-Reihe enthalten muss
THPDFChartAxis.AutomaticMinimum und AutomaticMaximum wählen datengesteuerte Grenzen; das Deaktivieren einer Eigenschaft aktiviert ihren jeweiligen Wert Minimum oder Maximum
TickCount wird beim Rendern auf 2 bis 20 begrenzt, ShowGrid steuert Achsenrasterlinien, und NumberFormat liefert das Zahlenformat für Markierungen und erzeugte Beschriftungen
Aussehen und Beschriftungen
THPDFChartTheme wählt Paletten hctLight, hctDark oder hctMonochrome
THPDFChartLegendPosition wählt über hclNone, hclRight und hclBottom keine Legende, eine rechte Legende oder eine Legende unten
Jede Reihe stellt Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels und beschriftete Daten von THPDFChartPoint bereit
Setzen Sie Color auf einen tatsächlichen TColor für eine explizite Reihenfarbe oder lassen Sie den Standardwert, um die aktive Palette zu nutzen
Barrierefreiheit
THPDFChart.BuildAccessibleText gibt vorhandenen expliziten AlternativeText zurück oder erstellt eine begrenzte Zusammenfassung von Titel, Reihe, Beschriftung, X und Y mit unabhängigen Grenzen für Punkte und Bytes
Übergeben Sie dem erweiterten DrawChart-Overload einen Struktur-Elternknoten, um das vollständige Diagramm als getaggte Figure mit einem Alt-Eintrag und Layoutbegrenzungsrahmen einzuschließen
Der Struktur-Elternknoten sollte üblicherweise ein Document, Sect oder ein für die aktuelle Seite erzeugtes figure-enthaltendes Layoutelement sein
Budgets und Statistiken
THPDFChartRenderOptions.Default erlaubt 64 Reihen, 100.000 Punkte je Reihe, 1.000.000 Punkte insgesamt, 512 sichtbare Beschriftungen, 64 Punkte im erzeugten Barrierefreiheitstext und 8.192 Bytes für Barrierefreiheit
Ungültige Geometrie, nicht endliche Koordinaten, gemischter Kreisinhalt sowie überschrittene Reihen- oder Punktbudgets lösen vor Zeichenbeginn eine Ausnahme aus
THPDFChartRenderStatistics meldet gerenderte Reihen, Punkte, Beschriftungen, Pfadsegmente, Figure-Tagging und Kürzung von Beschriftungen
Validierungs- und Renderdurchlauf sind linear in der Anzahl der Reihen und Punkte bei begrenzter Arbeit für Beschriftungen und Barrierefreiheit
Unterstützende Typen
Die öffentliche Oberfläche umfasst THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions und THPDFChartRenderStatistics
Beispiel
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;Siehe auch: THPDFPage.DrawChart, Übersicht Vektorgrafik, Automatische PDF/UA-Struktur