TXLSXCharts — это коллекция встроенных диаграмм, доступная через TXLSXWorksheet.Charts, а TXLSXChart управляет размещением диаграммы, осями и рядами
Объявления
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;
Члены диаграммы
| Title, CategoryAxisTitle and ValueAxisTitle | Текст заголовка диаграммы и подписей основных осей |
| TitleTextStyle and TitleLayout | Типизированный шрифт заголовка диаграммы, цвет, начертание, поворот, наложение и ручное позиционирование |
| ShowLegend, LegendPosition, LegendTextStyle and LegendLayout | Видимость легенды, сторона, наложение, шрифт и ручное позиционирование |
| PlotAreaLayout | Ручной внутренний или внешний прямоугольник области построения в нормализованных координатах ChartML |
| FromRow, FromCol, ToRow and ToCol | Прямоугольник привязки на листе с отсчётом от 1 |
| CategoryAxis and ValueAxis | Основная ось категорий (X) и основная ось значений (Y) |
| SecondaryCategoryAxis and SecondaryValueAxis | Верхняя и правая оси, используемые вторичными группами построения |
| SeriesAxis | Ось глубины, используемая трёхмерными диаграммами категорий |
| PlotGroups | Упорядоченные группы семейств диаграмм, которые делают возможными комбинированные диаграммы, тогда как Series остаётся плоским представлением для совместимости |
| HasPreservedXml | Сообщает, сохраняет ли диаграмма исходный ChartML для Roundtrip-совместимости с расширениями |
| ShowDataTable and ShowDataTableKeys | Управление отображением таблицы данных |
| ShowDataTableHorzBorder, ShowDataTableVertBorder and ShowDataTableOutline | Независимые переключатели границ таблицы данных, записываемые как c:showHorzBorder, c:showVertBorder и c:showOutline; все три по умолчанию равны True |
| HasDropLines and HasSeriesLines | Линии проекции графика соединяют каждую точку с осью категорий; линии рядов соединяют сегменты рядов гистограмм или графиков с накоплением |
| HasUpDownBars, UpDownGapWidth and HasHiLowLines | Управление отображением графиков и биржевых диаграмм |
| Rotation3DX, Rotation3DY, Elevation3D, Perspective3D and RightAngleAxes3D | Управление обзором трёхмерной диаграммы |
| HeightPercent3D, DepthPercent3D and GapDepth3D | Процентные значения высоты, глубины и зазора между рядами трёхмерной области построения |
| RadarStyle | Вариант семейства лепестковых диаграмм для текущего типа диаграммы |
| HoleSize and FirstSliceAng | Процент внутреннего радиуса кольцевой диаграммы (10..90) и начальный угол в градусах для круговых и кольцевых диаграмм |
| OfPieType, OfPieSplitType, OfPieSplitPos, OfPieSecondPieSize and OfPieGapWidth | Компоновка вторичной круговой (pie of pie) и вторичной гистограммы (bar of pie), правило разделения, а также размеры основной и вторичной областей построения |
| RoundedCorners | Включает или отключает скруглённые углы пространства диаграммы |
| AutoTitleDeleted | Подавляет автоматический заголовок, создаваемый по имени единственного ряда, и записывает c:autoTitleDeleted |
| ChartBackgroundColor, ChartBorderColor and PlotAreaBackgroundColor | Цвета заливки и границ диаграммы и области построения в виде значений $RRGGBB; 0 сохраняет значение темы по умолчанию |
| ProtectionEnabled, ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection and ProtectedUserInterface | Переключатель защиты диаграммы и отдельные ограничения редактирования, которые он записывает как c:protection |
| OwnerSheet | Ссылка только для чтения на лист, которому принадлежит эта диаграмма |
Типы диаграмм и комбинированные группы
TXLSXChartType включает семейства: гистограмма, линейчатая, график, круговая, с областями, кольцевая, точечная, пузырьковая, лепестковая, биржевая, вторичная круговая (pie of pie), поверхностная, а также объёмные варианты: поверхностная, гистограмма, линейчатая, график, круговая и с областями
Первая группа построения — группа совместимости, управляемая через ChartType и AddSeries Дополнительные группы добавляются методом AddPlotGroup и могут использовать xlsxAxisPrimary или xlsxAxisSecondary
Ряды, линии тренда и планки погрешностей
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 | Линейная, экспоненциальная, логарифмическая, полиномиальная, степенная линия тренда или скользящее среднее |
| DispEq and DispRSqr | Показывает на диаграмме уравнение и значение R-квадрат |
| Order and Period | Порядок полинома или период скользящего среднего для соответствующего типа линии тренда |
| ValueType | Фиксированная величина, процент, стандартное отклонение, стандартная ошибка или заданная пользователем погрешность |
| NoEndCap | Скрывает ограничители на концах планки погрешности |
Члены осей и подписей данных
| LogBase and Orientation | Основание логарифмической шкалы и обычный или обратный порядок оси |
| MajorGridlines and MinorGridlines | Управление видимостью линий сетки |
| MinValue, MaxValue, MajorUnit and MinorUnit | Явные границы масштаба и шаг делений там, где они поддерживаются |
| CrossesAt, TickLblPos and DispUnits | Позиция пересечения осей, размещение подписей и единицы отображения |
ShowValue, ShowCategoryName, ShowSeriesName, ShowLegendKey, ShowPercent and ShowBubbleSize | Компоненты подписей данных для каждого ряда |
| Separator | Текст, разделяющий несколько отображаемых компонентов подписи данных |
Сохранение неподдерживаемого ChartML
Когда включён параметр TXLSXWorkbook.PreserveUnsupportedParts (это значение по умолчанию), импортированная диаграмма сохраняет свой исходный ChartML Нетронутая диаграмма воспроизводит этот XML без нормализации, а изменения типизированных свойств накладывают сгенерированную модель HotXLS поверх исходного дерева
Неизвестные пространства имён, markup-compatibility-элемент AlternateContent, списки расширений, пользовательские стили и не охваченные моделью форматы остаются привязанными к своим исходным объектам диаграммы при изменении известных свойств Вызовите ClearPreservedXml, чтобы отбросить сохранённый XML для одной диаграммы и заново сгенерировать его только из типизированных свойств
Пример
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;См. также