HotXLS Docs

TXLSXChartLayout class

TXLSXChartLayout stores a complete normalized manual layout for plot areas, chart or axis titles and legends

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;

Coordinate model

X, Y, Width i Height normaliziraju se na pravokutnik grafikona; rubni X i Y su koordinate lijevog i gornjeg ruba, rubna širina i visina desnog i donjeg ruba, faktorski X i Y pomiču automatski položaj, a faktorska širina i visina su veličine relativne na grafikon
Model zadržava svako polje i način neovisno; učitani izostanci ostaju izostavljeni, a nevažeći numerički znakovi prežive nepromijenjeno spremanje, dok iscrtavanje pada na automatsku geometriju
X, Y, Width and Height are normalized against the chart rectangle Width and height are constrained to 0 through 1, while factor-based X and Y may use -1 through 1
SetPositionAndSize assigns all four values and enables the layout in one call This satisfies Excel's requirement that manual coordinates be emitted as a complete group

Modes and target

xlsxChartLayoutEdgePosition from the chart edge, used by default for X and Y
xlsxChartLayoutFactorSize or offset factor, used by default for width and height
TargetInner or outer plot rectangle and meaningful only for PlotAreaLayout

Example

TXLSXChartLayoutResolver razrješuje pravokutnike naslova, legende, unutarnjeg i vanjskog područja crtanja te naslova osi jednom za paginaciju, SVG, PDF, slikovni izlaz, pregled, ispis i HTML izlaz; nevažeća ili nepotpuna geometrija zadržava automatski pravokutnik, dok valjani pravokutnik izvan granica prelazi na najbliži položaj unutar grafikona bez mijenjanja veličine
ODF pretvorba preslikava razriješenu geometriju u apsolutne udaljenosti grafikona; naslov i legenda koriste svg:x i svg:y, dok područje crtanja koristi i svg:width i svg:height; ručna ODF legenda izostavlja chart:legend-position jer taj atribut nadjačava apsolutne koordinate

Primjer

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);

See also