ネイティブベクターチャート

THPDFChart は、データ系列、軸、テーマ、凡例、ラベル、アクセシビリティテキストを、THPDFPage.DrawChart によってレンダリングされる再利用可能なチャートモデルに組み合わせます

レンダラーは PDF パスとテキスト演算子を直接出力するため、チャートは任意のズームレベルでシャープなままであり、Image XObject を作成しません

チャートモデル

THPDFChart はその THPDFChartSeries インスタンスと 2 つの THPDFChartAxis オブジェクトを所有し、各系列は償却定数時間の追加のためにポイントストレージを幾何的に増やします

THPDFChart.AddSeries を THPDFChartKind 値とともに呼び出し、THPDFChartSeries.AddPoint で有限座標を追加します

THPDFChart.ClearSeries は所有する全系列を解放し、THPDFChartSeries.Clear は系列設定を保持してポイントのみを削除します

モデルへの索引付き読み取りアクセスは、SeriesCount、Series、Count、Points プロパティで提供されます

系列と軸

折れ線、棒、面積、散布系列は 1 つの直交プロットを共有できますが、円チャートには正確に 1 つの hckPie 系列が含まれている必要があります

THPDFChartAxis.AutomaticMinimum と AutomaticMaximum はデータ駆動の境界を選択します。どちらかのプロパティを無効にすると、対応する Minimum または Maximum 値が有効になります

TickCount はレンダリング時に 2 から 20 にクランプされ、ShowGrid は軸グリッド線を制御し、NumberFormat は目盛りと生成ラベルの数値形式を提供します

外観とラベル

THPDFChartTheme は、hctLight、hctDark、または hctMonochrome パレットを選択します

THPDFChartLegendPosition は、hclNone、hclRight、hclBottom で凡例なし、右凡例、または下凡例を選択します

各系列は、Name、Kind、Color、LineWidth、ShowMarkers、ShowLabels、ラベル付き THPDFChartPoint データを公開します

明示的な系列色には実際の TColor を Color に設定し、アクティブなパレットを使用するにはデフォルト値のままにします

アクセシビリティ

THPDFChart.BuildAccessibleText は、存在する場合は明示的な AlternativeText を返し、それ以外の場合は独立したポイントとバイトの制限付きで、境界付きのタイトル、系列、ラベル、X、Y の要約を構築します

拡張 DrawChart オーバーロードに構造親を渡すと、Alt エントリとレイアウトバウンディングボックスを持つタグ付き Figure にチャート全体をラップします

構造親は通常、現在のページ用に作成された Document、Sect、または図を含むレイアウト要素である必要があります

予算と統計

THPDFChartRenderOptions.Default は、64 系列、系列ごとに 100,000 ポイント、合計 1,000,000 ポイント、512 個の可視ラベル、生成されたアクセシビリティテキストに 64 ポイント、8,192 アクセシビリティバイトを許可します

不正な幾何、非有限座標、混在した円コンテンツ、超過した系列またはポイント予算は、描画が始まる前に例外を発生させます

THPDFChartRenderStatistics は、レンダリングされた系列、ポイント、ラベル、パスセグメント、図のタグ付け、ラベル切り詰めを報告します

検証とレンダリングのパスは系列数とポイント数に関して線形であり、ラベルとアクセシビリティの処理は境界付きです

サポート型

公開サーフェスは、THPDFChartKind、THPDFChartTheme、THPDFChartLegendPosition、THPDFChartPoint、THPDFChartSeries、THPDFChartAxis、THPDFChart、THPDFChartRenderOptions、THPDFChartRenderStatistics で構成されます

例

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;

関連項目: THPDFPage.DrawChart、ベクターグラフィックス概要、自動 PDF/UA 構造