Natywne wykresy wektorowe

THPDFChart łączy serie danych, osie, motywy, legendy, etykiety i tekst dostępności w model wykresu wielokrotnego użytku, renderowany przez THPDFPage.DrawChart

Renderer emituje bezpośrednio operatory ścieżek i tekstu PDF, więc wykresy pozostają ostre na każdym powiększeniu i nie tworzą Image XObjects

Model wykresu

THPDFChart jest właścicielem swoich instancji THPDFChartSeries i dwóch obiektów THPDFChartAxis, a każda seria powiększa magazyn punktów geometrycznie, żeby dopisywanie było zamortyzowane w stałym czasie

Wywołaj THPDFChart.AddSeries z wartością THPDFChartKind, a następnie dodawaj skończone współrzędne przez THPDFChartSeries.AddPoint

THPDFChart.ClearSeries zwalnia wszystkie posiadane serie, a THPDFChartSeries.Clear zachowuje konfigurację serii i usuwa tylko jej punkty

Właściwości SeriesCount, Series, Count i Points zapewniają indeksowany dostęp odczytowy do modelu

Serie i osie

Serie liniowe, słupkowe, warstwowe i punktowe mogą dzielić jeden wykres kartezjański, a wykres kołowy musi zawierać dokładnie jedną serię hckPie

THPDFChartAxis.AutomaticMinimum i AutomaticMaximum wybierają granice wynikające z danych; wyłączenie którejkolwiek z tych właściwości aktywuje odpowiadającą jej wartość Minimum lub Maximum

TickCount jest w czasie renderowania obcinany do zakresu od 2 do 20, ShowGrid steruje liniami siatki osi, a NumberFormat podaje format liczbowy dla podziałek i generowanych etykiet

Wygląd i etykiety

THPDFChartTheme wybiera palety hctLight, hctDark lub hctMonochrome

THPDFChartLegendPosition wybiera brak legendy, legendę po prawej lub u dołu przez hclNone, hclRight i hclBottom

Każda seria wystawia Name, Kind, Color, LineWidth, ShowMarkers, ShowLabels oraz opatrzone etykietami dane THPDFChartPoint

Ustaw Color na rzeczywisty TColor dla jawnego koloru serii albo zostaw wartość domyślną, żeby użyć aktywnej palety

Dostępność

THPDFChart.BuildAccessibleText zwraca jawny AlternativeText, gdy jest obecny, albo buduje ograniczone podsumowanie tytułu, serii, etykiet, X i Y, z niezależnymi limitami punktów i bajtów

Przekaż rodzica struktury do rozszerzonego przeciążenia DrawChart, żeby owinąć cały wykres w oznaczony Figure z wpisem Alt i ramką ograniczającą układu

Rodzicem struktury powinien być zwykle Document, Sect albo element układu zawierający figury, utworzony dla bieżącej strony

Budżety i statystyki

THPDFChartRenderOptions.Default dopuszcza 64 serie, 100 000 punktów na serię, 1 000 000 punktów łącznie, 512 widocznych etykiet, 64 punkty w generowanym tekście dostępności i 8 192 bajty tekstu dostępności

Nieprawidłowa geometria, nieskończone współrzędne, mieszana zawartość kołowa i przekroczone budżety serii lub punktów podnoszą wyjątek, zanim zacznie się rysowanie

THPDFChartRenderStatistics raportuje wyrenderowane serie, punkty, etykiety, segmenty ścieżek, tagowanie figur i ucinanie etykiet

Przebiegi walidacji i renderowania są liniowe względem liczby serii i punktów, z ograniczoną pracą nad etykietami i dostępnością

Typy pomocnicze

Powierzchnia publiczna obejmuje THPDFChartKind, THPDFChartTheme, THPDFChartLegendPosition, THPDFChartPoint, THPDFChartSeries, THPDFChartAxis, THPDFChart, THPDFChartRenderOptions i THPDFChartRenderStatistics

Przykład

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;

Zobacz też: THPDFPage.DrawChart, Omówienie grafiki wektorowej, Automatyczna struktura PDF/UA z drzew układu