Personalizar áreas de trazado de gráficos de presentaciones en PHP
Obtener ancho y alto del área de trazado de un gráfico
Aspose.Slides para PHP a través de Java ofrece una API simple para .
- Crear una instancia de la clase Presentation.
- Acceder a la primera diapositiva.
- Añadir un gráfico con datos predeterminados.
- Llamar al método Chart.validateChartLayout antes de obtener los valores reales.
- Obtiene la ubicación X real (izquierda) del elemento del gráfico relativo a la esquina superior izquierda del gráfico.
- Obtiene la parte superior real del elemento del gráfico relativa a la esquina superior izquierda del gráfico.
- Obtiene el ancho real del elemento del gráfico.
- Obtiene la altura real del elemento del gráfico.
# Crear una instancia de la clase Presentation
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350);
$chart->validateChartLayout();
$x = $chart->getPlotArea()->getActualX();
$y = $chart->getPlotArea()->getActualY();
$w = $chart->getPlotArea()->getActualWidth();
$h = $chart->getPlotArea()->getActualHeight();
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Establecer el modo de diseño del área de trazado de un gráfico
Aspose.Slides para PHP a través de Java ofrece una API simple para establecer el modo de diseño del área de trazado del gráfico. Los métodos setLayoutTargetType y getLayoutTargetType se han añadido a la clase ChartPlotArea. Si el diseño del área de trazado se define manualmente, esta propiedad especifica si el diseño del área de trazado se basa en su interior (sin incluir ejes y etiquetas de eje) o en su exterior (incluyendo ejes y etiquetas de eje). Existen dos valores posibles que se definen en el enumerado LayoutTargetType.
- LayoutTargetType::Inner - especifica que el tamaño del área de trazado determinará el tamaño del área de trazado, sin incluir las marcas de graduación y las etiquetas de los ejes.
- LayoutTargetType::Outer - especifica que el tamaño del área de trazado determinará el tamaño del área de trazado, las marcas de graduación y las etiquetas de los ejes.
A continuación se muestra un ejemplo de código.
# Crear una instancia de la clase Presentation
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 100, 600, 400);
$chart->getPlotArea()->setX(0.2);
$chart->getPlotArea()->setY(0.2);
$chart->getPlotArea()->setWidth(0.7);
$chart->getPlotArea()->setHeight(0.7);
$chart->getPlotArea()->setLayoutTargetType(LayoutTargetType::Inner);
$pres->save("SetLayoutMode_outer.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Preguntas frecuentes
¿En qué unidades se devuelven x real, y real, anchura real y altura real?
En puntos; 1 pulgada = 72 puntos. Estas son unidades de coordenadas de Aspose.Slides.
¿En qué se diferencia el área de trazado del área del gráfico en cuanto a contenido?
El área de trazado es la región de dibujo de los datos (series, líneas de cuadrícula, líneas de tendencia, etc.); el área del gráfico incluye los elementos circundantes (título, leyenda, etc.). En los gráficos 3D, el área de trazado también incluye las paredes/suelo y los ejes.
¿Cómo se interpretan la x, y, ancho y alto del área de trazado cuando el diseño es manual?
Son fracciones (0–1) del tamaño total del gráfico; en este modo, el posicionamiento automático está desactivado y se utilizan las fracciones que establezca.
¿Por qué cambió la posición del área de trazado después de añadir/mover la leyenda?
La leyenda se sitúa en el área del gráfico fuera del área de trazado pero afecta al diseño y al espacio disponible, por lo que el área de trazado puede desplazarse cuando el posicionamiento automático está activo. (Este es el comportamiento estándar de los gráficos de PowerPoint.)