HotXLS Docs

Клас TXLSXChartLayout

TXLSXChartLayout съхранява ръчно оформление, запазващо всяко поле, за областите с данни, заглавията на диаграмата и на осите и легендите

Declaration

type
  TXLSXChartLayoutTarget = (xlsxChartLayoutOuter, xlsxChartLayoutInner);
  TXLSXChartLayoutMode = (xlsxChartLayoutFactor, xlsxChartLayoutEdge);

  TXLSXChartLayout = class
    property Enabled: Boolean;
    property HasTarget: Boolean;
    property HasXMode, HasYMode, HasWidthMode, HasHeightMode: Boolean;
    property HasX, HasY, HasWidth, HasHeight: Boolean;
    property Target: TXLSXChartLayoutTarget;
    property XMode, YMode, WidthMode, HeightMode: TXLSXChartLayoutMode;
    property X, Y, Width, Height: Double;
    procedure ClearTarget;
    procedure ClearXMode;
    procedure ClearYMode;
    procedure ClearWidthMode;
    procedure ClearHeightMode;
    procedure ClearX;
    procedure ClearY;
    procedure ClearWidth;
    procedure ClearHeight;
    procedure SetPositionAndSize(AX, AY, AWidth, AHeight: Double);
    procedure Assign(Source: TXLSXChartLayout);
    procedure Clear;
  end;

Модел на координатите

X, Y, Width и Height се нормализират спрямо правоъгълника на диаграмата. При Edge X и Y са координати на левия и горния ръб, а edge width и edge height — на десния и долния ръб; при factor X и Y отместват автоматичната позиция, а factor width и height са размери спрямо диаграмата
Моделът запазва всяко поле и режим независимо. Пропуснатите при зареждане стойности остават пропуснати, а невалидни числови токени оцеляват при запис без промяна, докато рендирането се връща към автоматичната геометрия
Оформленията на заглавие могат да съдържат само X и Y и да запазят автоматично измерения размер. Оформленията за област с данни и за легенда изискват всичките четири координати
SetPositionAndSize задава всичките четири стойности, маркира режимите им като налични и включва оформлението в едно извикване. Отделните setters за координати също включват оформлението

Режими и цел

xlsxChartLayoutEdgeПозиция от ръба на диаграмата, по подразбиране за X и Y
xlsxChartLayoutFactorФактор за размер или отместване, по подразбиране за ширина и височина
TargetВътрешен или външен правоъгълник на областта с данни; смислен само за PlotAreaLayout

Разрешаване и конверсия

TXLSXChartLayoutResolver разрешава правоъгълниците на заглавие, легенда, вътрешната и външната област с данни и заглавията на осите еднократно за pagination, SVG, PDF, image, preview, print, viewer и HTML изхода. Невалидна или непълна геометрия запазва автоматичния правоъгълник, докато валиден правоъгълник извън диаграмата се премества на най-близката позиция в нея, без промяна на размера
ODF конверсията превежда разрешената геометрия в абсолютни разстояния в диаграмата. Заглавието и легендата използват svg:x и svg:y, а областта с данни — също svg:width и svg:height. Ръчна ODF легенда пропуска chart:legend-position, защото този атрибут надделява върху абсолютните координати

Пример

Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.TitleLayout.SetPositionAndSize(0.1, 0.02, 0.6, 0.12);
Chart.LegendLayout.SetPositionAndSize(0.2, 0.84, 0.6, 0.1);

Вижте също