Dapatkan Posisi Sebenarnya Label Data Bagan di Slide Java
Pengantar Mendapatkan Posisi Sebenarnya Label Data Bagan di Slide Java
Dalam tutorial ini, Anda akan mempelajari cara mengambil posisi sebenarnya dari label data bagan menggunakan Aspose.Slides untuk Java. Kita akan membuat program Java yang menghasilkan presentasi PowerPoint dengan bagan, mengkustomisasi label data, dan kemudian menambahkan bentuk yang mewakili posisi label data tersebut.
Prasyarat
Sebelum memulai, pastikan Anda telah menyiapkan pustaka Aspose.Slides untuk Java di proyek Java Anda.
Langkah 1: Buat Presentasi PowerPoint
Pertama, mari buat presentasi PowerPoint baru dan tambahkan bagan ke dalamnya. Kita akan menyesuaikan label data bagan nanti di tutorial.
// Jalur ke direktori dokumen.
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();
}
Langkah 2: Sesuaikan Label Data
Sekarang, mari sesuaikan label data untuk rangkaian bagan. Kami akan menetapkan posisi mereka dan menunjukkan nilainya.
try {
// ... (kode sebelumnya)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (kode yang tersisa)
} finally {
if (pres != null) pres.dispose();
}
Langkah 3: Dapatkan Posisi Label Data Sebenarnya
Pada langkah ini, kita akan mengulangi titik data rangkaian bagan dan mengambil posisi sebenarnya dari label data yang memiliki nilai lebih besar dari 4. Kemudian kita akan menambahkan elips untuk mewakili posisi ini.
try {
// ... (kode sebelumnya)
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());
}
}
}
// ... (kode yang tersisa)
} finally {
if (pres != null) pres.dispose();
}
Langkah 4: Simpan Presentasi
Terakhir, simpan presentasi yang dihasilkan ke file.
try {
// ... (kode sebelumnya)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Kode Sumber Lengkap untuk Mendapatkan Posisi Sebenarnya Label Data Bagan di Slide Java
// Jalur ke direktori dokumen.
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());//MELAKUKAN
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Kesimpulan
Dalam tutorial ini, Anda telah mempelajari cara mengambil posisi sebenarnya dari label data bagan di Java Slides menggunakan Aspose.Slides untuk Java. Anda sekarang dapat menggunakan pengetahuan ini untuk menyempurnakan presentasi PowerPoint Anda dengan label data yang disesuaikan dan representasi visual dari posisinya.
FAQ
Bagaimana cara mengkustomisasi label data dalam bagan?
Untuk mengkustomisasi label data dalam bagan, Anda dapat menggunakansetDefaultDataLabelFormat
metode pada rangkaian bagan dan mengatur properti seperti posisi dan visibilitas. Misalnya:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
Bagaimana cara menambahkan bentuk untuk mewakili posisi label data?
Anda dapat melakukan iterasi melalui titik data rangkaian bagan dan menggunakangetActualX
, getActualY
, getActualWidth
, DangetActualHeight
metode label data untuk mendapatkan posisinya. Kemudian, Anda dapat menambahkan bentuk menggunakanaddAutoShape
metode. Berikut ini contohnya:
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);
Bagaimana cara menyimpan presentasi yang dihasilkan?
Anda dapat menyimpan presentasi yang dihasilkan menggunakansave
metode. Berikan jalur file yang diinginkan danSaveFormat
sebagai parameter. Misalnya:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);