Unit: lxHandleX
Ряд диаграммы с формулами диапазонов, кэшированными значениями, подписями данных, набором линий тренда и планками погрешностей X/Y
Описание
Ряд хранит отображаемое имя, необязательную формулу имени, формулу категорий или X, формулу значений или Y, формулу размера пузырька, а также строковый или числовой кэш, сохраняемый рядом с каждой формулой. Кэшированные точки улучшают автономную отрисовку и переживают правки диаграммы, копирование листов и циклы открытия и сохранения
Маркеры ряда и сглаживание
property MarkerFillColor: LongWord;
property MarkerBorderColor: LongWord;
property Smooth: Boolean;
property SmoothSet: Boolean;
property LegendDeleted: Boolean;
| MarkerFillColor | Цвет заливки маркера ряда для графиков и точечных диаграмм в виде RGB LongWord; 0 сохраняет автоматический цвет темы Excel |
| MarkerBorderColor | Цвет границы маркера ряда в виде RGB LongWord |
| Smooth | отрисовывает ряд сглаженной кривой вместо прямолинейных сегментов; используйте вместе с MarkerSymbol/MarkerSize/MarkerSet |
| SmoothSet | Был ли флаг сглаживания установлен явно; от этого зависит запись флага smooth в OOXML |
| LegendDeleted | убирает ряд из легенды, оставляя его на диаграмме, и записывает удаляющий элемент c:legendEntry для индекса этого ряда |
Многоуровневые категории
property CategoriesMultiLevel: Boolean;
property CategoryLevelCount: Integer;
property CategoryLevels[Index: Integer]: TXLSXChartDataCache;
function AddCategoryLevel: TXLSXChartDataCache;
procedure ClearCategoryLevels;
procedure ResolveCategoryLevels;
function BuildCategorySpans(APointCount: Integer;
out ASpans: TXLSXChartCategorySpans): Integer;
Уровни категорий упорядочены от листа к корню, совпадая с физическим порядком кэша в ChartML. Каждый уровень — это разреженный индексированный строковый кэш. Отсутствующие точки наследуют предыдущую подпись своего уровня, а явно сохранённая пустая строка начинает пустой интервал и не даёт объединять соседние группы
ResolveCategoryLevels один раз материализует доступный двумерный диапазон категорий и в остальных случаях сохраняет импортированный кэш. BuildCategorySpans возвращает интервалы с учётом родителей за время O(levels × points) , поэтому одинаковый текст дочерних элементов объединяется только в пределах одного родительского интервала
Подписи данных из ячеек
property DataLabelsRange: WideString;
property DataLabelsCache: TXLSXChartDataCache;
property ShowDataLabelsRange: Boolean;
property ShowDataLabelsRangeSet: Boolean;
property SeparatorSet: Boolean;
property DataLabelRangeOverrideCount: Integer;
property DataLabelRangeOverrideIndexes[Index: Integer]: Integer;
property DataLabelRangeOverrideValues[Index: Integer]: Boolean;
procedure ResolveDataLabelsRange;
procedure SetPointShowDataLabelsRange(APointIndex: Integer;
AVisible: Boolean);
procedure ClearPointShowDataLabelsRangeOverrides;
function TryGetPointShowDataLabelsRange(APointIndex: Integer;
out AVisible: Boolean): Boolean;
DataLabelsRange — формула A1 отдельного ряда, а DataLabelsCache хранит индексированный текст, сохранённый вместе с диаграммой. Внутренние диапазоны листа обновляются один раз на поколение книги, а недоступные или внешние формулы сохраняют импортированный кэш и никогда не вызывают неявный доступ к файлам или сети
ShowDataLabelsRangeSet сохраняет признак того, что общая видимость была задана явно, а методы точек ведут разреженные переопределения видимости с нумерацией с нуля. Пользовательский текст из ячеек компонуется перед именем ряда, категорией, значением, процентом и размером пузырька, причём разделитель вставляется только между непустыми компонентами
TXLSXChart.DataLabelsRange остаётся совместимым фасадом: его сеттер рассылает значение существующим рядам и задаёт его добавляемым позже, а геттер возвращает значение, только если все ряды используют одну и ту же формулу
Свойства
Name
NameRange
CategoriesRange
ValuesRange
BubbleSizeRange
DataLabelsRange
NameCache
CategoryCache
CategoriesMultiLevel
CategoryLevelCount
CategoryLevels
ValueCache
BubbleSizeCache
DataLabelsCache
DataLabelRangeOverrideCount
DataLabelRangeOverrideIndexes
DataLabelRangeOverrideValues
TrendlineCount
Trendlines
ErrBarX
ErrBarY
ShowValue
ShowCategoryName
ShowSeriesName
ShowLegendKey
ShowPercent
ShowBubbleSize
ShowDataLabelsRange
ShowDataLabelsRangeSet
Separator
SeparatorSet
MarkerFillColor
MarkerBorderColor
Smooth
SmoothSet
LegendDeleted
Кэшированные точки
Задайте для вида кэша значение xlsxChartCacheString или xlsxChartCacheNumber, при желании задайте FormatCode для числовых данных, затем добавьте индексированные точки. Числовые кэши без явного кода формата при записи используют General when written
Методы
procedure Assign
function AddTrendline
function AddErrorBar
function AddCategoryLevel
procedure ClearCategoryLevels
procedure ResolveCategoryLevels
function BuildCategorySpans
procedure ResolveDataLabelsRange
procedure SetPointShowDataLabelsRange
procedure ClearPointShowDataLabelsRangeOverrides
function TryGetPointShowDataLabelsRange
См. также