Java Slaytlarında Veri Etiketi Bilgisini Ayarlama

Aspose.Slides for Java’da Veri Etiketi Bilgilerini Ayarlamaya Giriş

Bu eğitimde Aspose.Slides for Java kullanarak bir grafikteki veri etiketleri için açıklamaların nasıl ayarlanacağını göstereceğiz. Açıklamalar, grafiğinizdeki belirli veri noktalarını vurgulamak için yararlı olabilir. Kodu adım adım inceleyeceğiz ve gerekli kaynak kodunu sağlayacağız.

Önkoşullar

  • Aspose.Slides for Java’nın kurulu olması gerekir.
  • Bir Java projesi oluşturun ve Aspose.Slides kütüphanesini projenize ekleyin.

1. Adım: Bir Sunum Oluşturun ve Grafik Ekleyin

Öncelikle bir sunum oluşturmamız ve slayta bir grafik eklememiz gerekiyor. Değiştirdiğinizden emin olun"Your Document Directory" belge dizininizin gerçek yolu ile.

String dataDir = "Your Document Directory";
Presentation pres = new Presentation(dataDir + "testc.pptx");
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.Doughnut, 10, 10, 500, 500, false);

Adım 2: Grafiği Yapılandırın

Daha sonra gösterge, seri ve kategoriler gibi özellikleri ayarlayarak grafiği yapılandıracağız.

IChartDataWorkbook workBook = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
chart.setLegend(false);

// Seri ve kategorileri yapılandırın (Seri ve kategori sayısını ayarlayabilirsiniz)
int seriesIndex = 0;
while (seriesIndex < 15) {
    IChartSeries series = chart.getChartData().getSeries().add(workBook.getCell(0, 0, seriesIndex + 1, "SERIES " + seriesIndex), chart.getType());
    series.setExplosion(0);
    series.getParentSeriesGroup().setDoughnutHoleSize((byte) 20);
    series.getParentSeriesGroup().setFirstSliceAngle(351);
    seriesIndex++;
}

int categoryIndex = 0;
while (categoryIndex < 15) {
    chart.getChartData().getCategories().add(workBook.getCell(0, categoryIndex + 1, 0, "CATEGORY " + categoryIndex));
    int i = 0;
    while (i < chart.getChartData().getSeries().size()) {
        // Veri noktalarını buraya ekleyin
        // ...
        i++;
    }
    categoryIndex++;
}

3. Adım: Veri Etiketlerini Özelleştirin

Şimdi, son seriye ilişkin açıklamaların ayarlanması da dahil olmak üzere veri etiketlerini özelleştireceğiz.

int i = 0;
while (i < chart.getChartData().getSeries().size()) {
    IChartSeries iCS = chart.getChartData().getSeries().get_Item(i);
    IChartDataPoint dataPoint = iCS.getDataPoints().addDataPointForDoughnutSeries(workBook.getCell(0, categoryIndex + 1, i + 1, 1));
    dataPoint.getFormat().getFill().setFillType(FillType.Solid);
    // Veri noktası formatını özelleştirme (Dolgu, Çizgi vb.)

    if (i == chart.getChartData().getSeries().size() - 1) {
        IDataLabel lbl = dataPoint.getLabel();
        lbl.getTextFormat().getTextBlockFormat().setAutofitType(TextAutofitType.Shape);
        //Etiket biçimlendirmesini özelleştirin (Yazı Tipi, Dolgu vb.)
        lbl.getDataLabelFormat().setShowValue(false);
        lbl.getDataLabelFormat().setShowCategoryName(true);
        lbl.getDataLabelFormat().setShowSeriesName(false);
        // Ek bilgileri etkinleştir
        lbl.getDataLabelFormat().setShowLabelAsDataCallout(true);
        lbl.getDataLabelFormat().setShowLeaderLines(true);
    }
    i++;
}

4. Adım: Sunuyu Kaydetme

Son olarak, sunuyu yapılandırılan grafikle kaydedin.

pres.save("chart.pptx", SaveFormat.Pptx);

Artık Aspose.Slides for Java’yı kullanarak bir grafikteki veri etiketleri için açıklamaları başarıyla ayarladınız. Kodu özel grafiğinize ve veri gereksinimlerinize göre özelleştirin.

Java Slaytlarında Veri Etiketine Yönelik Belirtmeyi Ayarlamak İçin Tam Kaynak Kodu

String dataDir = "Your Document Directory";
Presentation pres = new Presentation(dataDir + "testc.pptx");
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.Doughnut, 10, 10, 500, 500, false);
IChartDataWorkbook workBook = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
chart.setLegend(false);
int seriesIndex = 0;
while (seriesIndex < 15)
{
	IChartSeries series = chart.getChartData().getSeries().add(workBook.getCell(0, 0, seriesIndex + 1, "SERIES " + seriesIndex), chart.getType());
	series.setExplosion(0);
	series.getParentSeriesGroup().setDoughnutHoleSize((byte) 20);
	series.getParentSeriesGroup().setFirstSliceAngle(351);
	seriesIndex++;
}
int categoryIndex = 0;
while (categoryIndex < 15)
{
	chart.getChartData().getCategories().add(workBook.getCell(0, categoryIndex + 1, 0, "CATEGORY " + categoryIndex));
	int i = 0;
	while (i < chart.getChartData().getSeries().size())
	{
		IChartSeries iCS = chart.getChartData().getSeries().get_Item(i);
		IChartDataPoint dataPoint = iCS.getDataPoints().addDataPointForDoughnutSeries(workBook.getCell(0, categoryIndex + 1, i + 1, 1));
		dataPoint.getFormat().getFill().setFillType(FillType.Solid);
		dataPoint.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
		dataPoint.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.WHITE);
		dataPoint.getFormat().getLine().setWidth(1);
		dataPoint.getFormat().getLine().setStyle(LineStyle.Single);
		dataPoint.getFormat().getLine().setDashStyle(LineDashStyle.Solid);
		if (i == chart.getChartData().getSeries().size() - 1)
		{
			IDataLabel lbl = dataPoint.getLabel();
			lbl.getTextFormat().getTextBlockFormat().setAutofitType(TextAutofitType.Shape);
			lbl.getDataLabelFormat().getTextFormat().getPortionFormat().setFontBold(NullableBool.True);
			lbl.getDataLabelFormat().getTextFormat().getPortionFormat().setLatinFont(new FontData("DINPro-Bold"));
			lbl.getDataLabelFormat().getTextFormat().getPortionFormat().setFontHeight(12);
			lbl.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().setFillType(FillType.Solid);
			lbl.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.LIGHT_GRAY);
			lbl.getDataLabelFormat().getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.WHITE);
			lbl.getDataLabelFormat().setShowValue(false);
			lbl.getDataLabelFormat().setShowCategoryName(true);
			lbl.getDataLabelFormat().setShowSeriesName(false);
			//lbl.getDataLabelFormat().setShowLabelAsDataCallout(true);
			lbl.getDataLabelFormat().setShowLeaderLines(true);
			lbl.getDataLabelFormat().setShowLabelAsDataCallout(false);
			chart.validateChartLayout();
			lbl.setX(lbl.getX() + (float) 0.5);
			lbl.setY(lbl.getY() + (float) 0.5);
		}
		i++;
	}
	categoryIndex++;
}
pres.save("chart.pptx", SaveFormat.Pptx);

Çözüm

Bu eğitimde Aspose.Slides for Java kullanarak bir grafikteki veri etiketleri için açıklamaların nasıl ayarlanacağını araştırdık. Açıklamalar, grafiklerinizde ve sunumlarınızda belirli veri noktalarını vurgulamak için değerli araçlardır. Bu özelleştirmeyi gerçekleştirmenize yardımcı olmak için kaynak koduyla birlikte adım adım bir kılavuz sağladık.

SSS’ler

Veri etiketlerinin görünümünü nasıl özelleştiririm?

Veri etiketlerinin görünümünü özelleştirmek için yazı tipi, dolgu ve çizgi stilleri gibi özellikleri değiştirebilirsiniz. Örneğin:

IDataLabel lbl = dataPoint.getLabel();
lbl.getTextFormat().getTextBlockFormat().setAutofitType(TextAutofitType.Shape);
lbl.getDataLabelFormat().getTextFormat().getPortionFormat().setFontBold(NullableBool.True);
lbl.getDataLabelFormat().getTextFormat().getPortionFormat().setLatinFont(new FontData("DINPro-Bold"));
lbl.getDataLabelFormat().getTextFormat().getPortionFormat().setFontHeight(12);
lbl.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().setFillType(FillType.Solid);
lbl.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.LIGHT_GRAY);
lbl.getDataLabelFormat().getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.WHITE);

Veri etiketleri için belirtme çizgilerini nasıl etkinleştirebilir veya devre dışı bırakabilirim?

Veri etiketleri için belirtme çizgilerini etkinleştirmek veya devre dışı bırakmak içinsetShowLabelAsDataCallout yöntem. Şuna ayarla:true belirtme çizgilerini etkinleştirmek vefalsebunları devre dışı bırakmak için.

lbl.getDataLabelFormat().setShowLabelAsDataCallout(true); // Ek bilgileri etkinleştir
lbl.getDataLabelFormat().setShowLabelAsDataCallout(false); // Ek bilgileri devre dışı bırak

Veri etiketleri için öncü çizgileri özelleştirebilir miyim?

Evet, çizgi stili, renk ve genişlik gibi özellikleri kullanarak veri etiketleri için öncü çizgileri özelleştirebilirsiniz. Örneğin:

lbl.getDataLabelFormat().setShowLeaderLines(true); // Lider çizgileri etkinleştir
lbl.getDataLabelFormat().getLeaderLinesFormat().getFormat().getLine().setStyle(LineStyle.Single);
lbl.getDataLabelFormat().getLeaderLinesFormat().getFormat().getLine().setWidth(1);
lbl.getDataLabelFormat().getLeaderLinesFormat().getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
lbl.getDataLabelFormat().getLeaderLinesFormat().getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLACK);

Bunlar Aspose.Slides for Java’daki veri etiketleri ve belirtme çizgileri için bazı yaygın özelleştirme seçenekleridir. Görünümü özel ihtiyaçlarınıza göre daha da özelleştirebilirsiniz.