Sesuaikan Diagram Pai dalam Presentasi Menggunakan Java
Gambaran Umum
Artikel ini menjelaskan cara bekerja dengan diagram pai di Aspose.Slides. Artikel ini menunjukkan cara mengonfigurasi opsi plot sekunder untuk diagram Pie of Pie dan Bar of Pie, serta cara mengaktifkan pewarnaan irisan otomatis untuk diagram pai standar.
Contoh‑contoh berfokus pada tugas penyesuaian diagram seperti menambahkan diagram ke slide, menyesuaikan pengaturan seri dan label, mengganti data diagram bawaan dengan kategori dan nilai khusus, dan menyimpan presentasi yang diperbarui.
Opsi Plot Sekunder untuk Diagram Pie of Pie dan Bar of Pie
Aspose.Slides for Java mendukung opsi plot sekunder untuk diagram Pie of Pie dan Bar of Pie. Opsi‑opsi ini mengontrol ukuran plot sekunder dan cara titik data dibagi antara dua plot.
Contoh berikut membuat diagram Pie of Pie dalam presentasi baru dan menampilkan nilai titik data sebagai label. Metode setSecondPieSize mengatur ukuran plot sekunder menjadi 149% dari plot utama. setPieSplitBy memilih pembagian berbasis persentase, dan setPieSplitPosition mengatur ambang batas menjadi 53%.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.PieOfPie, 50, 50, 500, 400);
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Tampilkan nilai dan konfigurasikan plot sekunder.
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
IChartSeriesGroup seriesGroup = series.getParentSeriesGroup();
seriesGroup.setSecondPieSize(149);
seriesGroup.setPieSplitBy(PieSplitType.ByPercentage);
seriesGroup.setPieSplitPosition(53);
presentation.save("pie_of_pie.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Pilih Kategori untuk Plot Sekunder
Gunakan pembagian khusus ketika Anda ingin mengelompokkan kategori tertentu dalam plot sekunder terlepas dari nilai persentasenya. Misalnya, laporan penjualan mungkin menampilkan Online dan Events bersama sehingga pembaca dapat membandingkan dua saluran ini, meskipun keduanya menyumbang 35% dan 10% dari total penjualan.
Panggil setPieSplitBy dengan PieSplitType.Custom dan pilih titik melalui getPieSplitCustomPoints. Metode add pada koleksi menerima indeks berbasis nol dalam seri; gunakan addItem untuk menambahkan objek titik data. Dalam contoh ini, indeks 1 memilih Online, dan titik pada indeks 3 memilih Events. Partners juga ditambahkan sementara, lalu dikecualikan menggunakan removeItem.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.PieOfPie, 50, 50, 600, 200);
// Ganti data default dengan penjualan per saluran.
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
String[] categoryNames = { "Retail", "Online", "Partners", "Events" };
int[] values = { 40, 35, 15, 10 };
IChartDataCell seriesNameCell = workbook.getCell(0, 0, 1, "Sales");
IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, chart.getType());
for (int i = 0; i < categoryNames.length; i++) {
IChartDataCell categoryCell = workbook.getCell(0, i + 1, 0, categoryNames[i]);
chart.getChartData().getCategories().add(categoryCell);
IChartDataCell valueCell = workbook.getCell(0, i + 1, 1, values[i]);
series.getDataPoints().addDataPointForPieSeries(valueCell);
}
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
IChartSeriesGroup seriesGroup = series.getParentSeriesGroup();
seriesGroup.setPieSplitBy(PieSplitType.Custom);
seriesGroup.setColorVaried(true);
// Pilih Online berdasarkan indeks berbasis nol dan Events berdasarkan objek titik datanya.
seriesGroup.getPieSplitCustomPoints().add(1);
seriesGroup.getPieSplitCustomPoints().addItem(series.getDataPoints().get_Item(3));
// Kecualikan Partners dari pemilihan tanpa menghapus data sumbernya.
seriesGroup.getPieSplitCustomPoints().add(2);
seriesGroup.getPieSplitCustomPoints().removeItem(series.getDataPoints().get_Item(2));
presentation.save("pie_of_pie_custom.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Online (35) dan Events (10) muncul sebagai irisan terpisah di plot sekunder. Di plot utama, keduanya direpresentasikan sebagai satu irisan gabungan dengan nilai 45, bersama Retail (40) dan Partners (15). Menghapus Partners dari pemilihan khusus menjaga Partners tetap ada di plot utama; hal ini tidak menghapus kategori atau nilainya dari data sumber diagram.
Gambar berikut menampilkan presentasi yang disimpan di PowerPoint:

Atur Warna Irisan Grafik Pai Otomatis
Aspose.Slides for Java dapat secara otomatis menugaskan warna berbeda ke setiap irisan diagram pai. Contoh berikut membuat diagram pai dengan judul terpusat dan mengganti data bawaan dengan tiga kategori triwulanan serta nilainya. Metode setShowValue menampilkan nilai 20, 50, dan 30 sebagai label, sementara setColorVaried mengaktifkan warna berbeda untuk setiap irisan.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
// Tambahkan judul diagram yang terpusat.
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Ganti data bawaan menggunakan lembar kerja pertama.
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
int worksheetIndex = 0;
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
String[] categoryNames = { "First Qtr", "2nd Qtr", "3rd Qtr" };
int[] values = { 20, 50, 30 };
IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 1, "Series 1");
IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, chart.getType());
for (int i = 0; i < categoryNames.length; i++) {
IChartDataCell categoryCell = workbook.getCell(worksheetIndex, i + 1, 0, categoryNames[i]);
chart.getChartData().getCategories().add(categoryCell);
IChartDataCell valueCell = workbook.getCell(worksheetIndex, i + 1, 1, values[i]);
series.getDataPoints().addDataPointForPieSeries(valueCell);
}
// Tampilkan nilai dan berikan warna berbeda pada tiap irisan.
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
series.getParentSeriesGroup().setColorVaried(true);
presentation.save("pie.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
Apakah variasi Pie of Pie dan Bar of Pie didukung?
Ya, perpustakaan supports plot sekunder untuk diagram pai, termasuk tipe Pie of Pie dan Bar of Pie.
Bisakah saya mengekspor hanya grafik sebagai gambar (misalnya, PNG)?
Ya, Anda dapat export the chart itself as an image (seperti PNG) tanpa mengekspor seluruh presentasi.