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

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