TXLSXCharts to kolekcja osadzonych wykresów udostępniana przez TXLSXWorksheet.Charts , a TXLSXChart odpowiada za położenie wykresu, osie i serie
Deklaracje
function TXLSXCharts.Add: TXLSXChart; overload;
function TXLSXCharts.Add(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart; overload;
function TXLSXChart.AddSeries(const AName, ACategories, AValues: WideString): TXLSXChartSeries;
function TXLSXChart.AddPlotGroup(AChartType: TXLSXChartType; AAxisGroup: TXLSXChartAxisGroup = xlsxAxisPrimary): TXLSXChartPlotGroup;
procedure TXLSXChart.ClearSeries;
procedure TXLSXChart.ClearPlotGroups;
procedure TXLSXChart.ClearPreservedXml;
property TXLSXChart.ChartType: TXLSXChartType;
property TXLSXChart.HasPreservedXml: Boolean;
property TXLSXChart.CategoryAxis, ValueAxis: TXLSXChartAxis;
property TXLSXChart.SecondaryCategoryAxis, SecondaryValueAxis: TXLSXChartAxis;
property TXLSXChart.SeriesAxis: TXLSXChartAxis;
property TXLSXChart.TitleTextStyle, LegendTextStyle: TXLSXChartTextStyle;
property TXLSXChart.PlotAreaLayout, TitleLayout, LegendLayout: TXLSXChartLayout;
property TXLSXChart.ShowLegend, TitleOverlay, LegendOverlay: Boolean;
property TXLSXChart.LegendPosition: TXLSXChartLegendPosition;
property TXLSXChart.Series[Index: Integer]: TXLSXChartSeries;
property TXLSXChart.PlotGroups[Index: Integer]: TXLSXChartPlotGroup;
property TXLSXChart.RadarStyle: TXLSXChartRadarStyle;
property TXLSXChart.HoleSize, FirstSliceAng: Integer;
property TXLSXChart.OfPieType: TXLSXChartOfPieType;
property TXLSXChart.OfPieSplitType: TXLSXChartOfPieSplitType;
property TXLSXChart.OfPieSplitPos, OfPieSecondPieSize, OfPieGapWidth: Integer;
property TXLSXChart.RoundedCorners, AutoTitleDeleted: Boolean;
property TXLSXChart.ChartBackgroundColor, ChartBorderColor, PlotAreaBackgroundColor: LongWord;
property TXLSXChart.ProtectionEnabled: Boolean;
property TXLSXChart.ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection, ProtectedUserInterface: Boolean;
property TXLSXChart.ShowDataTableHorzBorder, ShowDataTableVertBorder, ShowDataTableOutline: Boolean;
property TXLSXChart.HasDropLines, HasSeriesLines: Boolean;
property TXLSXChart.OwnerSheet: TXLSXWorksheet;
Elementy składowe wykresu
| Title, CategoryAxisTitle and ValueAxisTitle | Tekst tytułu wykresu i podpisów głównych osi |
| TitleTextStyle and TitleLayout | Czcionka tytułu wykresu, kolor, styl, obrót, nałożenie i ręczne ustawienie pozycji — wszystko typowane |
| ShowLegend, LegendPosition, LegendTextStyle and LegendLayout | Widoczność legendy, jej strona, nałożenie, czcionka i ręczne ustawienie pozycji |
| PlotAreaLayout | Ręcznie zadany wewnętrzny lub zewnętrzny prostokąt obszaru rysunku w znormalizowanych współrzędnych ChartML |
| FromRow, FromCol, ToRow and ToCol | Prostokąt kotwiczenia w arkuszu, numeracja od 1 |
| CategoryAxis and ValueAxis | Główna oś kategorii (X) i główna oś wartości (Y) |
| SecondaryCategoryAxis and SecondaryValueAxis | Oś górna i prawa, używane przez drugorzędne grupy wykresów |
| SeriesAxis | Oś głębokości używana przez trójwymiarowe wykresy kategorii |
| PlotGroups | Uporządkowane grupy rodzin wykresów, które umożliwiają tworzenie wykresów kombinowanych, podczas gdy Series pozostaje płaskim widokiem do celów zgodności |
| HasPreservedXml | Informuje, czy wykres zachowuje oryginalny ChartML na potrzeby round-tripów bezpiecznych dla rozszerzeń |
| ShowDataTable and ShowDataTableKeys | Sterowanie wyświetlaniem tabeli danych |
| ShowDataTableHorzBorder, ShowDataTableVertBorder and ShowDataTableOutline | Niezależne przełączniki obramowania tabeli danych zapisywane jako c:showHorzBorder, c:showVertBorderi c:showOutline; wszystkie trzy mają domyślnie wartość True |
| HasDropLines and HasSeriesLines | Linie upustu na wykresie liniowym łączą każdy punkt z osią kategorii; linie serii łączą segmenty serii na wykresach skumulowanych |
| HasUpDownBars, UpDownGapWidth and HasHiLowLines | Elementy wyświetlania wykresów liniowych i giełdowych |
| Rotation3DX, Rotation3DY, Elevation3D, Perspective3D and RightAngleAxes3D | Sterowanie widokiem wykresu 3D |
| HeightPercent3D, DepthPercent3D and GapDepth3D | Procentowe wartości wysokości i głębokości obszaru rysunku oraz odstępów między seriami w wykresach 3D |
| RadarStyle | Wariant rodziny wykresów radarowych dla bieżącego typu wykresu |
| HoleSize and FirstSliceAng | Procent promienia wewnętrznego wykresu pierścieniowego (10..90) oraz kąt początkowy w stopniach dla wykresów kołowych i pierścieniowych |
| OfPieType, OfPieSplitType, OfPieSplitPos, OfPieSecondPieSize and OfPieGapWidth | Układ wykresów pie of pie i bar of pie, reguła podziału oraz rozmiary głównego i drugorzędnego obszaru rysunku |
| RoundedCorners | Włącza lub wyłącza zaokrąglone rogi przestrzeni wykresu |
| AutoTitleDeleted | Pomija automatyczny tytuł wywodzony z nazwy pojedynczej serii i zapisuje c:autoTitleDeleted |
| ChartBackgroundColor, ChartBorderColor and PlotAreaBackgroundColor | Kolory wypełnienia i obramowania wykresu oraz obszaru rysunku jako wartości $RRGGBB; 0 zachowuje domyślny motyw |
| ProtectionEnabled, ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection and ProtectedUserInterface | Przełącznik ochrony wykresu oraz poszczególne ograniczenia edycji, zapisywane jako c:protection |
| OwnerSheet | Referencja tylko do odczytu do arkusza, który jest właścicielem tego wykresu |
Typy wykresów i grupy kombinowane
TXLSXChartType obejmuje rodziny: kolumnowy, słupkowy, liniowy, kołowy, obszarowy, pierścieniowy, punktowy, bąbelkowy, radarowy, giełdowy, pie of pie, powierzchniowy, powierzchniowy 3D, kolumnowy 3D, słupkowy 3D, liniowy 3D, kołowy 3D i obszarowy 3D
Pierwsza grupa wykresów to grupa zgodności, obsługiwana przez ChartType i AddSeries Dodatkowe grupy dodaje się metodą AddPlotGroup , a korzystać mogą z xlsxAxisPrimary albo xlsxAxisSecondary
Serie, linie trendowe i słupki błędów
function TXLSXChartSeries.AddTrendline(AType: TXLSXChartTrendlineType): TXLSXChartTrendline;
function TXLSXChartSeries.AddErrorBar(ADir: TXLSXChartErrDir): TXLSXChartErrBar;
property TXLSXChartSeries.Trendlines[Index: Integer]: TXLSXChartTrendline;
property TXLSXChartSeries.ErrBarX, ErrBarY: TXLSXChartErrBar;
property TXLSXChartTrendline.TrendlineType: TXLSXChartTrendlineType;
property TXLSXChartTrendline.DispEq, DispRSqr: Boolean;
property TXLSXChartTrendline.Order, Period: Integer;
property TXLSXChartErrBar.ValueType: TXLSXChartErrValType;
property TXLSXChartErrBar.Value, PlusValue, MinusValue: Double;
| TrendlineType | Liniowa, wykładnicza, logarytmiczna, wielomianowa lub potęgowa linia trendowa albo średnia krocząca |
| DispEq and DispRSqr | Wyświetla na wykresie równanie i wartość R-kwadrat |
| Order and Period | Rząd wielomianu lub okres średniej kroczącej, stosownie do typu linii trendowej |
| ValueType | Wartość stała, procent, odchylenie standardowe, błąd standardowy lub własna wielkość błędu |
| NoEndCap | Ukrywa ogranicznik na końcu słupka błędu |
Elementy osi i etykiet danych
| LogBase and Orientation | Podstawa skali logarytmicznej oraz normalna lub odwrócona kolejność osi |
| MajorGridlines and MinorGridlines | Sterowanie widocznością linii siatki |
| MinValue, MaxValue, MajorUnit and MinorUnit | Jawne granice skali i odstępy znaczników, tam gdzie są obsługiwane |
| CrossesAt, TickLblPos and DispUnits | Pozycja przecięcia osi, rozmieszczenie etykiet i jednostki wyświetlania |
ShowValue, ShowCategoryName, ShowSeriesName, ShowLegendKey, ShowPercent and ShowBubbleSize | Składniki etykiet danych dla poszczególnych serii |
| Separator | Tekst wstawiany między wieloma wyświetlanymi składnikami etykiety danych |
Zachowywanie nieobsługiwanego ChartML
Gdy TXLSXWorkbook.PreserveUnsupportedParts jest włączony — a domyślnie jest — zaimportowany wykres zachowuje swój oryginalny ChartML Niezmieniony wykres odtwarza ten XML bez normalizacji, natomiast zmiany właściwości typowanych nakładają wygenerowany model HotXLS na oryginalne drzewo
Nieznane przestrzenie nazw, element zgodności znaczników AlternateContent, listy rozszerzeń, style niestandardowe i formatowanie spoza modelu pozostają przypięte do oryginalnych obiektów wykresu podczas edycji znanych właściwości Wywołaj ClearPreservedXml , aby odrzucić zachowany XML jednego wykresu i wygenerować go ponownie wyłącznie na podstawie właściwości typowanych
Przykład
var
Chart: TXLSXChart;
Secondary: TXLSXChartPlotGroup;
begin
Chart := Sheet.Charts.Add(xlsxChartLine, 'Monthly sales', 2, 5, 18, 12);
Chart.AddSeries('Sales', 'Sheet1!$A$2:$A$13', 'Sheet1!$B$2:$B$13');
Chart.ValueAxisTitle := 'Amount';
Chart.TitleTextStyle.Name := 'Aptos Display';
Chart.TitleTextStyle.Size := 18;
Chart.TitleTextStyle.Bold := True;
Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.ShowLegend := True;
Chart.LegendPosition := xlsxChartLegendBottom;
Chart.LegendTextStyle.Size := 10;
Secondary := Chart.AddPlotGroup(xlsxChartColumn, xlsxAxisSecondary);
Secondary.AddSeries('Margin', 'Sheet1!$A$2:$A$13', 'Sheet1!$C$2:$C$13');
Chart.SecondaryValueAxis.Title := 'Margin percent';
Chart.Series[0].AddTrendline(xlsxTrendLinear).DispRSqr := True;
Chart.Series[0].ShowValue := True;
end;Zobacz też