Graphiques vectoriels natifs
THPDFChart combine séries de données, axes, thèmes, légendes, étiquettes et texte d'accessibilité dans un modèle de graphique réutilisable rendu par THPDFPage.DrawChart
Le rendu émet directement les opérateurs de chemin et de texte PDF, de sorte que les graphiques restent nets à tout niveau de zoom et ne créent pas d'Image XObjects
Modèle de graphique
THPDFChart possède ses instances THPDFChartSeries et ses deux objets THPDFChartAxis, tandis que chaque série fait croître le stockage de points géométriquement pour un ajout en temps constant amorti
Appelez THPDFChart.AddSeries avec une valeur THPDFChartKind, puis ajoutez des coordonnées finies via THPDFChartSeries.AddPoint
THPDFChart.ClearSeries libère toutes les séries possédées, tandis que THPDFChartSeries.Clear conserve la configuration de la série et ne supprime que ses points
Les propriétés SeriesCount, Series, Count et Points fournissent un accès en lecture indexé au modèle
Séries et axes
hckLinedessine des chemins connectés avec marqueurs vectoriels et étiquettes de points facultatifshckBardessine des barres groupées autour de chaque coordonnée X numérique et inclut zéro dans les bornes Y automatiqueshckAreaferme chaque série contre la ligne de base zéro visible et utilise un remplissage fusionné conscient du thèmehckPiedessine une seule série de valeurs positives comme secteurs vectoriels séparément coloréshckScatterdessine des marqueurs vectoriels indépendants à des coordonnées numériques
Les séries en ligne, à barres, en aires et en nuages de points peuvent partager un tracé cartésien, tandis qu'un graphique en secteurs doit contenir exactement une série hckPie
THPDFChartAxis.AutomaticMinimum et AutomaticMaximum sélectionnent des bornes pilotées par les données ; désactiver l'une des propriétés active sa valeur Minimum ou Maximum correspondante
TickCount est borné de 2 à 20 au moment du rendu, ShowGrid contrôle les lignes de grille des axes, et NumberFormat fournit le format numérique pour les graduations et les étiquettes générées
Apparence et étiquettes
THPDFChartTheme sélectionne les palettes hctLight, hctDark ou hctMonochrome
THPDFChartLegendPosition sélectionne aucune légende, une légende à droite ou une légende en bas via hclNone, hclRight et hclBottom
Chaque série expose Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels et des données THPDFChartPoint étiquetées
Définissez Color sur un TColor réel pour une couleur de série explicite ou laissez la valeur par défaut pour utiliser la palette active
Accessibilité
THPDFChart.BuildAccessibleText renvoie AlternativeText explicite lorsqu'il est présent ou construit un résumé borné du titre, des séries, des étiquettes, de X et de Y, avec des limites indépendantes de points et d'octets
Passez un parent de structure à la surcharge étendue DrawChart pour envelopper le graphique complet dans une Figure balisée avec une entrée Alt et une boîte englobante de disposition
Le parent de structure doit normalement être un élément de disposition Document, Sect ou contenant une figure créé pour la page courante
Budgets et statistiques
THPDFChartRenderOptions.Default autorise 64 séries, 100 000 points par série, 1 000 000 points au total, 512 étiquettes visibles, 64 points dans le texte d'accessibilité généré et 8 192 octets d'accessibilité
La géométrie invalide, les coordonnées non finies, le contenu de secteurs mixte et les budgets de séries ou de points dépassés lèvent une exception avant le début du dessin
THPDFChartRenderStatistics rapporte les séries rendues, les points, les étiquettes, les segments de chemin, le balisage de figures et la troncature d'étiquettes
Les passes de validation et de rendu sont linéaires dans le nombre de séries et de points, avec un travail borné d'étiquettes et d'accessibilité
Types de support
La surface publique comprend THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions et THPDFChartRenderStatistics
Exemple
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;
Voir aussi : THPDFPage.DrawChart, Vector Graphics Overview, Automatic PDF/UA Structure