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
hckLinetekent verbonden paden met optionele vector-markers en puntlabelshckBartekent gegroepeerde staven rond elke numerieke X-coördinaat en neemt nul op in de automatische Y-grenzenhckAreasluit elke reeks tegen de zichtbare nul-basislijn en gebruikt een thema-bewuste geblende vullinghckPietekent één positief-gewaardeerde reeks als individueel gekleurde vectorwiggenhckScattertekent onafhankelijke vector-markers op numerieke coördinaten
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