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

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