HotXLS Docs

Clase TXLSXChartLayout

TXLSXChartLayout guarda un diseño manual que preserva los campos para áreas de trazado, títulos de gráfico o de eje y leyendas

Declaración

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;

Modelo de coordenadas

X, Y, Width y Height se normalizan respecto al rectángulo del gráfico. El X y Y de Edge son las coordenadas izquierda y superior, el ancho y alto de Edge son las coordenadas derecha e inferior, el X y Y de Factor desplazan la posición automática, y el ancho y alto de Factor son tamaños relativos al gráfico
El modelo retiene cada campo y modo de forma independiente. Las omisiones cargadas siguen omitidas y los tokens numéricos no válidos sobreviven a un guardado sin cambios, mientras que la representación recurre a la geometría automática
Los diseños de título pueden contener solo X e Y y conservar el tamaño medido automáticamente. Los diseños de área de trazado y leyenda requieren las cuatro coordenadas
SetPositionAndSize asigna los cuatro valores, marca sus modos como presentes y habilita el diseño en una sola llamada. Los setters individuales de coordenadas también habilitan el diseño

Modos y objetivo

xlsxChartLayoutEdgePosición desde el borde del gráfico, usada por defecto para X e Y
xlsxChartLayoutFactorFactor de tamaño o desplazamiento, usado por defecto para ancho y alto
TargetRectángulo de trazado interior o exterior, con significado solo para PlotAreaLayout

Resolución y conversión

TXLSXChartLayoutResolver resuelve los rectángulos de título, leyenda, área de trazado interior y exterior, y títulos de eje una sola vez para la salida de paginación, SVG, PDF, imagen, vista previa, impresión, visor y HTML. La geometría no válida o incompleta conserva el rectángulo automático, mientras que un rectángulo válido fuera de los límites se mueve a la posición más cercana dentro del gráfico sin cambiar de tamaño
La conversión ODF mapea la geometría resuelta a distancias absolutas del gráfico. Título y leyenda usan svg:x y svg:y, mientras que el área de trazado también usa svg:width y svg:height. Una leyenda ODF manual omite chart:legend-position porque ese atributo prevalece sobre las coordenadas absolutas

Ejemplo

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

Véase también