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
hckLinerysuje połączone ścieżki z opcjonalnymi znacznikami wektorowymi i etykietami punktówhckBarrysuje pogrupowane słupki wokół każdej numerycznej współrzędnej X i uwzględnia zero w automatycznych granicach YhckAreazamyka każdą serię do widocznej linii zerowej i używa wypełnienia z blendowaniem dopasowanym do motywuhckPierysuje jedną serię o wartościach dodatnich jako indywidualnie kolorowane wektorowe wycinkihckScatterrysuje niezależne znaczniki wektorowe we współrzędnych numerycznych
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