Administrar marcadores de datos de gráfico en presentaciones usando Java
Establecer opciones de marcador de gráfico
Los marcadores pueden establecerse en los puntos de datos del gráfico dentro de series específicas. Para establecer opciones de marcador de gráfico, siga los pasos a continuación:
- Instanciar la clase Presentation.
- Crear el gráfico predeterminado.
- Establecer la imagen.
- Tomar la primera serie del gráfico.
- Añadir un nuevo punto de datos.
- Guardar la presentación en disco.
En el ejemplo a continuación, hemos establecido las opciones de marcador de gráfico a nivel de puntos de datos.
// Creando presentación vacía
Presentation pres = new Presentation();
try {
// Acceder a la primera diapositiva
ISlide slide = pres.getSlides().get_Item(0);
// Creando el gráfico predeterminado
IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
// Obteniendo el índice de la hoja de cálculo de datos del gráfico predeterminado
int defaultWorksheetIndex = 0;
// Obteniendo la hoja de cálculo de datos del gráfico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Eliminar serie de demostración
chart.getChartData().getSeries().clear();
// Añadir nueva serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
// Cargar la imagen 1
IPPImage imgx1 = pres.getImages().addImage(new FileInputStream(new File("Desert.jpg")));
// Cargar la imagen 2
IPPImage imgx2 = pres.getImages().addImage(new FileInputStream(new File("Tulips.jpg")));
// Tomar la primera serie del gráfico
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Añadir nuevo punto (1:3) allí.
IChartDataPoint point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 1, 1, (double) 4.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 2, 1, (double) 2.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 3, 1, (double) 3.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 4, 1, (double) 4.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
// Cambiando el marcador de la serie del gráfico
series.getMarker().setSize(15);
// Guardar presentación con gráfico
pres.save("ScatterChart.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
FAQ
¿Qué formas de marcador están disponibles de forma predeterminada?
Las formas estándar están disponibles (círculo, cuadrado, diamante, triángulo, etc.); la lista está definida por la clase MarkerStyleType. Si necesita una forma no estándar, use un marcador con relleno de imagen para emular elementos visuales personalizados.
¿Se conservan los marcadores al exportar un gráfico a una imagen o SVG?
Sí. Al renderizar gráficos a formatos raster o al guardar formas como SVG, los marcadores conservan su apariencia y configuración, incluido el tamaño, el relleno y el contorno.