Optimizar cálculos de gráficos para presentaciones en Android
Calcular los valores reales de los elementos del gráfico
Aspose.Slides for Android a través de Java proporciona una API sencilla para obtener estas propiedades. Las propiedades de la interfaz IAxis proporcionan información sobre la posición real del elemento del eje del gráfico (IAxis.getActualMaxValue, IAxis.getActualMinValue, IAxis.getActualMajorUnit, IAxis.getActualMinorUnit, IAxis.getActualMajorUnitScale, IAxis.getActualMinorUnitScale). Es necesario llamar al método IChart.validateChartLayout() previamente para rellenar las propiedades con los valores reales.
Presentation pres = new Presentation();
try {
Chart chart = (Chart)pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 100, 100, 500, 350);
chart.validateChartLayout();
double maxValue = chart.getAxes().getVerticalAxis().getActualMaxValue();
double minValue = chart.getAxes().getVerticalAxis().getActualMinValue();
double majorUnit = chart.getAxes().getHorizontalAxis().getActualMajorUnit();
double minorUnit = chart.getAxes().getHorizontalAxis().getActualMinorUnit();
} finally {
if (pres != null) pres.dispose();
}
Calcular la posición real de los elementos de gráfico padre
Aspose.Slides for Android a través de Java proporciona una API sencilla para obtener estas propiedades. Las propiedades de la interfaz IActualLayout proporcionan información sobre la posición real del elemento de gráfico padre (IActualLayout.getActualX, IActualLayout.getActualY, IActualLayout.getActualWidth, IActualLayout.getActualHeight). Es necesario llamar al método IChart.validateChartLayout() previamente para rellenar las propiedades con los valores reales.
Presentation pres = new Presentation();
try {
Chart chart = (Chart) pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350);
chart.validateChartLayout();
double x = chart.getPlotArea().getActualX();
double y = chart.getPlotArea().getActualY();
double w = chart.getPlotArea().getActualWidth();
double h = chart.getPlotArea().getActualHeight();
} finally {
if (pres != null) pres.dispose();
}
Ocultar elementos del gráfico
Este tema le ayuda a comprender cómo ocultar información del gráfico. Con Aspose.Slides for Android a través de Java puede ocultar Título, Eje vertical, Eje horizontal y Líneas de cuadrícula del gráfico. El siguiente ejemplo de código muestra cómo usar estas propiedades.
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 140, 118, 320, 370);
//Ocultando el título del gráfico
chart.setTitle(false);
///Ocultando el eje de valores
chart.getAxes().getVerticalAxis().setVisible(false);
//Visibilidad del eje de categorías
chart.getAxes().getHorizontalAxis().setVisible(false);
//Ocultando la leyenda
chart.setLegend(false);
//Ocultando las líneas de cuadrícula principales
chart.getAxes().getHorizontalAxis().getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
for (int i = 0; i < chart.getChartData().getSeries().size(); i++)
{
chart.getChartData().getSeries().removeAt(i);
}
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
series.getMarker().setSymbol(MarkerStyleType.Circle);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.Top);
series.getMarker().setSize(15);
//Configurando el color de la línea de la serie
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.MAGENTA);
series.getFormat().getLine().setDashStyle(LineDashStyle.Solid);
pres.save("HideInformationFromChart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Preguntas frecuentes
¿Los libros de Excel externos funcionan como fuente de datos y cómo afecta eso a la recalculación?
Sí. Un gráfico puede referenciar un libro de trabajo externo: cuando se conecta o actualiza la fuente externa, las fórmulas y los valores se toman de ese libro, y el gráfico refleja las actualizaciones durante las operaciones de apertura/edición. La API permite especificar el libro de trabajo externo ruta y administrar los datos vinculados.
¿Puedo calcular y mostrar líneas de tendencia sin implementar la regresión yo mismo?
Sí. Las Líneas de tendencia son añadidas y actualizadas por Aspose.Slides; sus parámetros se recalculan automáticamente a partir de los datos de la serie, por lo que no necesita implementar sus propios cálculos.
Si una presentación tiene varios gráficos con enlaces externos, ¿puedo controlar qué libro de trabajo usa cada gráfico para los valores calculados?
Sí. Cada gráfico puede apuntar a su propio libro de trabajo externo, o puede crear/reemplazar un libro de trabajo externo por gráfico de forma independiente de los demás.