기본 벡터 차트

THPDFChart는 데이터 계열, 축, 테마, 범례, 레이블 및 접근성 텍스트를 THPDFPage.DrawChart가 렌더링하는 재사용 가능한 차트 모델로 결합합니다

렌더러는 PDF 경로와 텍스트 연산자를 직접 생성하므로 차트는 어떤 확대 수준에서도 선명하게 유지되고 Image XObject를 만들지 않습니다

차트 모델

THPDFChart는 자체 THPDFChartSeries 인스턴스와 두 개의 THPDFChartAxis 객체를 소유하며, 각 계열은 분할 상환 상수 시간 추가를 위해 점 저장소를 기하급수적으로 늘립니다

THPDFChart.AddSeries를 THPDFChartKind 값과 함께 호출한 다음, THPDFChartSeries.AddPoint를 통해 유한 좌표를 추가합니다

THPDFChart.ClearSeries는 소유한 모든 계열을 해제하고, THPDFChartSeries.Clear는 계열 구성을 유지하고 점만 제거합니다

SeriesCount, Series, Count 및 Points 속성은 모델에 대한 인덱스 읽기 액세스를 제공합니다

계열 및 축

선, 막대, 영역 및 산포 계열은 하나의 직교 플롯을 공유할 수 있으며, 파이 차트는 정확히 하나의 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 또는 figure 포함 레이아웃 요소여야 합니다

예산 및 통계

THPDFChartRenderOptions.Default는 계열 64개, 계열당 점 100,000개, 총 점 1,000,000개, 보이는 레이블 512개, 생성 접근성 텍스트 64점 및 접근성 바이트 8,192개를 허용합니다

잘못된 지오메트리, 무한대 좌표, 혼합 파이 콘텐츠 및 초과된 계열 또는 점 예산은 그리기 시작 전에 예외를 발생시킵니다

THPDFChartRenderStatistics는 렌더링된 계열, 점, 레이블, 경로 세그먼트, figure 태깅 및 레이블 잘림을 보고합니다

검증 및 렌더링 패스는 계열과 점 수에 선형이며, 바운딩된 레이블 및 접근성 작업을 사용합니다

지원 유형

공개 표면은 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 구조