Obtener la posición real de la etiqueta de datos del gráfico en diapositivas de Java
Introducción a la obtención de la posición real de la etiqueta de datos del gráfico en diapositivas de Java
En este tutorial, aprenderá cómo recuperar la posición real de las etiquetas de datos del gráfico usando Aspose.Slides para Java. Crearemos un programa Java que genere una presentación de PowerPoint con un gráfico, personalice las etiquetas de datos y luego agregue formas que representen las posiciones de estas etiquetas de datos.
Requisitos previos
Antes de comenzar, asegúrese de tener la biblioteca Aspose.Slides para Java configurada en su proyecto Java.
Paso 1: crea una presentación de PowerPoint
Primero, creemos una nueva presentación de PowerPoint y agreguemosle un gráfico. Personalizaremos las etiquetas de datos del gráfico más adelante en el tutorial.
// La ruta al directorio de documentos.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.validateChartLayout();
} finally {
if (pres != null) pres.dispose();
}
Paso 2: personaliza las etiquetas de datos
Ahora, personalicemos las etiquetas de datos para la serie de gráficos. Estableceremos su posición y mostraremos los valores.
try {
// ... (código anterior)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (código restante)
} finally {
if (pres != null) pres.dispose();
}
Paso 3: obtener la posición real de las etiquetas de datos
En este paso, recorreremos los puntos de datos de la serie de gráficos y recuperaremos la posición real de las etiquetas de datos que tienen un valor mayor que 4. Luego agregaremos elipses para representar estas posiciones.
try {
// ... (código anterior)
for (IChartSeries series : chart.getChartData().getSeries()) {
for (IChartDataPoint point : series.getDataPoints()) {
if (point.getValue().toDouble() > 4) {
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());
}
}
}
// ... (código restante)
} finally {
if (pres != null) pres.dispose();
}
Paso 4: guarde la presentación
Finalmente, guarde la presentación generada en un archivo.
try {
// ... (código anterior)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Código fuente completo para obtener la posición real de la etiqueta de datos del gráfico en diapositivas de Java
// La ruta al directorio de documentos.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try
{
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
for (IChartSeries series : chart.getChartData().getSeries())
{
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
chart.validateChartLayout();
for (IChartSeries series : chart.getChartData().getSeries())
{
for (IChartDataPoint point : series.getDataPoints())
{
if (point.getValue().toDouble() > 4)
{
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());//HACER
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Conclusión
En este tutorial, aprendió cómo recuperar la posición real de las etiquetas de datos del gráfico en Java Slides usando Aspose.Slides para Java. Ahora puede utilizar este conocimiento para mejorar sus presentaciones de PowerPoint con etiquetas de datos personalizadas y representaciones visuales de sus posiciones.
Preguntas frecuentes
¿Cómo puedo personalizar las etiquetas de datos en un gráfico?
Para personalizar las etiquetas de datos en un gráfico, puede utilizar elsetDefaultDataLabelFormat
método en la serie de gráficos y establecer propiedades como posición y visibilidad. Por ejemplo:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
¿Cómo puedo agregar formas para representar las posiciones de las etiquetas de datos?
Puede iterar a través de los puntos de datos de una serie de gráficos y utilizar elgetActualX
, getActualY
, getActualWidth
, ygetActualHeight
métodos de la etiqueta de datos para obtener su posición. Luego, puedes agregar formas usando eladdAutoShape
método. He aquí un ejemplo:
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
¿Cómo puedo guardar la presentación generada?
Puede guardar la presentación generada usando elsave
método. Proporcione la ruta del archivo deseada y elSaveFormat
como parámetros. Por ejemplo:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);