Документация HotXLS

Классы TXLSXChart и TXLSXCharts

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;

См. также