Native vector-grafieken

THPDFChart combineert gegevensreeksen, assen, thema's, legenda's, labels en toegankelijkheidstekst tot een herbruikbaar grafiekmodel dat door THPDFPage.DrawChart wordt weergegeven

De renderer zendt PDF-pad- en tekstoperatoren rechtstreeks uit, zodat grafieken scherp blijven op elke zoomniveau en geen Image XObjects creëren

Grafiekmodel

THPDFChart bezit zijn THPDFChartSeries-instanties en zijn twee THPDFChartAxis-objecten, terwijl elke reeks puntopslag geometrisch laat groeien voor geamortiseerde constante-tijd-append

Roep THPDFChart.AddSeries aan met een THPDFChartKind-waarde en voeg vervolgens eindige coördinaten toe via THPDFChartSeries.AddPoint

THPDFChart.ClearSeries geeft alle eigendomsseries vrij, terwijl THPDFChartSeries.Clear de reeksconfiguratie behoudt en alleen de punten verwijdert

De eigenschappen SeriesCount, Series, Count en Points bieden geïndexeerde leestoegang tot het model

Reeksen en assen

Lijn-, staaf-, oppervlakte- en spreidingsreeksen kunnen één cartesisch plot delen, terwijl een taartgrafiek exact één hckPie-reeks moet bevatten

THPDFChartAxis.AutomaticMinimum en AutomaticMaximum kiezen datagestuurde grenzen; als je een van beide uitschakelt, wordt de bijbehorende waarde Minimum of Maximum actief

TickCount wordt bij het renderen geklemd tot 2 tot en met 20, ShowGrid beheert de as-rasterlijnen en NumberFormat levert het numerieke formaat voor ticks en gegenereerde labels

Verschijning en labels

THPDFChartTheme selecteert de paletten hctLight, hctDark of hctMonochrome

THPDFChartLegendPosition selecteert geen legenda, een juiste legenda of een onderste legenda via hclNone, hclRight en hclBottom

Elke reeks stelt Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels en gelabelde THPDFChartPoint-data bloot

Stel Color in op een echte TColor voor een expliciete reekskleur of laat de standaardwaarde het actieve palet gebruiken

Toegankelijkheid

THPDFChart.BuildAccessibleText retourneert expliciete AlternativeText wanneer aanwezig, of bouwt een begrensde titel-, reeks-, label-, X- en Y-samenvatting, met onafhankelijke punt- en bytelimieten

Geef een structuurouder door aan de uitgebreide DrawChart-overload om de volledige grafiek in een getagd Figure te omsluiten met een Alt-item en een layout-begrenzingskader

De structuurouder moet normaal een Document, Sect of figuur-bevattend layoutelement zijn dat voor de huidige pagina is gemaakt

Budgetten en statistieken

THPDFChartRenderOptions.Default staat 64 reeksen, 100.000 punten per reeks, 1.000.000 totale punten, 512 zichtbare labels, 64 punten in gegenereerde toegankelijkheidstekst en 8.192 toegankelijkheidsbytes toe

Ongeldige geometrie, niet-eindige coördinaten, gemengde taartinhoud en overschreden reeks- of puntbudgetten werpen een uitzondering vóór het tekenen begint

THPDFChartRenderStatistics rapporteert weergegeven reeksen, punten, labels, padsegmenten, figuur-tagging en label-afkapping

De validatie- en renderpasses zijn lineair in het aantal reeksen en punten, met begrensd label- en toegankelijkheidswerk

Ondersteunende typen

Het publieke oppervlak omvat THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions en THPDFChartRenderStatistics

Voorbeeld

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;

Zie ook: THPDFPage.DrawChart, Vector-grafiek-en-overzicht, Automatische PDF/UA-structuur