Szerezze meg a diagram adatcímkéjének tényleges pozícióját a Java Slides-ben

Bevezetés a diagram adatcímke tényleges pozíciójának lekéréséhez Java Slides-ben

Ebből az oktatóanyagból megtudhatja, hogyan kérheti le a diagram adatcímkéinek tényleges pozícióját az Aspose.Slides for Java használatával. Létrehozunk egy Java programot, amely PowerPoint prezentációt generál diagrammal, testreszabja az adatcímkéket, majd hozzáadja az adatcímkék pozícióit reprezentáló alakzatokat.

Előfeltételek

Mielőtt elkezdené, győződjön meg arról, hogy az Aspose.Slides for Java könyvtár be van állítva a Java projektben.

1. lépés: Hozzon létre egy PowerPoint-bemutatót

Először hozzunk létre egy új PowerPoint-prezentációt, és adjunk hozzá egy diagramot. Az oktatóanyag későbbi részében személyre szabjuk a diagram adatcímkéit.

// A dokumentumok könyvtárának elérési útja.
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();
}

2. lépés: Az adatcímkék testreszabása

Most pedig szabjuk testre a diagramsorozat adatcímkéit. Beállítjuk a helyzetüket és megmutatjuk az értékeket.

try {
    // ... (előző kód)
    for (IChartSeries series : chart.getChartData().getSeries()) {
        series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
        series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
    }
    // ... (fennmaradó kód)
} finally {
    if (pres != null) pres.dispose();
}

3. lépés: Az adatcímkék tényleges pozíciójának lekérése

Ebben a lépésben végigfutjuk a diagramsorozat adatpontjait, és lekérjük a 4-nél nagyobb értékű adatcímkék tényleges pozícióját. Ezután ellipsziseket adunk hozzá a pozíciók ábrázolásához.

try {
    // ... (előző kód)
    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());
            }
        }
    }
    // ... (fennmaradó kód)
} finally {
    if (pres != null) pres.dispose();
}

4. lépés: Mentse el a bemutatót

Végül mentse a létrehozott prezentációt fájlba.

try {
    // ... (előző kód)
    pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Teljes forráskód a diagram adatcímke tényleges pozíciójának lekéréséhez a Java Slides-ben

// A dokumentumok könyvtárának elérési útja.
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());//CSINÁLNI
			}
		}
	}
	pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
	if (pres != null) pres.dispose();
}

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan kérheti le a diagram adatcímkéinek tényleges helyzetét a Java Slides programban az Aspose.Slides for Java segítségével. Ezt a tudást most felhasználhatja PowerPoint-prezentációinak testreszabott adatcímkéivel és pozícióik vizuális megjelenítésével.

GYIK

Hogyan szabhatom testre az adatcímkéket egy diagramon?

A diagram adatcímkéinek testreszabásához használhatja asetDefaultDataLabelFormat módszert a diagramsorozaton, és állítsa be a tulajdonságokat, például a pozíciót és a láthatóságot. Például:

for (IChartSeries series : chart.getChartData().getSeries()) {
    series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
    series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}

Hogyan adhatok hozzá alakzatokat az adatcímke pozícióinak megjelenítéséhez?

Iterálhat egy diagramsorozat adatpontjain, és használhatja agetActualX, getActualY, getActualWidth , ésgetActualHeightaz adatcímke pozíciójának megállapításához szükséges módszereket. Ezután alakzatokat adhat hozzá aaddAutoShape módszer. Íme egy példa:

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

Hogyan tudom elmenteni a generált prezentációt?

A létrehozott prezentációt asave módszer. Adja meg a kívánt fájl elérési utat és aSaveFormat mint paraméterek. Például:

pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);