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;
Koordinátamodell
Az X, Y, Width és Height értékek a diagram téglalapjához vannak normalizálva. Az él (Edge) X és Y a bal felső koordináta, az él szélesség és magasság a jobb alsó koordináta, a faktor X és Y az automatikus pozíciót tolja el, a faktor szélesség és magasság pedig diagramhoz viszonyított méret
A modell minden mezőt és módot önállóan őriz meg. A betöltéskor elhagyott értékek elhagyva maradnak, az érvénytelen numerikus tokenek változatlan mentésben túlélik a mentést, miközben a megjelenítés automatikus geometriára vált vissza
A cím-elrendezések tartalmazhatják csak az X és Y értékeket, és megtartják az automatikusan mért méretet. A diagramterület- és jelmagyarázat-elrendezések mind a négy koordinátát igénylik
A SetPositionAndSize egyetlen hívásban adja meg mind a négy értéket, jelennek meg a módozataik, és engedélyezi az elrendezést. Az egyedi koordináta-beállítók szintén engedélyezik az elrendezést
Modes and target
| xlsxChartLayoutEdge | Position from the chart edge, used by default for X and Y |
| xlsxChartLayoutFactor | Size or offset factor, used by default for width and height |
| Target | Inner or outer plot rectangle and meaningful only for PlotAreaLayout |
Feloldás és konverzió
A TXLSXChartLayoutResolver a cím, a jelmagyarázat, a belső és külső diagramterület, valamint a tengelycímek téglalapjait egyszer oldja fel a lapozás, SVG, PDF, kép, előnézet, nyomtatás, megjelenítő és HTML kimenethez. Az érvénytelen vagy hiányos geometria megtartja az automatikus téglalapot, míg az érvényes, de tartományon kívüli téglalap a diagramon belüli legközelebbi pozícióra kerül méretének változtatása nélkül
Az ODF konverzió a feloldott geometriát abszolút diagramtávolságokra képezi le. A cím és a jelmagyarázat az svg:x és svg:y, a diagramterület pedig az svg:width és svg:height értékeket is használja. A kézi ODF jelmagyarázat elhagyja a chart:legend-position attribútumot, mert az felülbírálná az abszolút koordinátákat
Example
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