Android'de Sunumlarda Grafik Veri Serilerini Yönetme
Genel Bakış
Bu makale, Aspose.Slides içinde ChartSeries rolünü açıklamaktadır ve sunumlarda verilerin nasıl yapılandırıldığını ve görselleştirildiğini odaklanmaktadır. Bu nesneler, bir grafikte tek tek veri noktaları, kategoriler ve görünüm parametrelerini tanımlayan temel unsurları sağlar. ChartSeries ile çalışan geliştiriciler, temel veri kaynaklarını sorunsuz bir şekilde entegre edebilir ve bilginin nasıl gösterileceği üzerinde tam kontrol sağlayabilir, böylece içgörü ve analizleri net bir şekilde ileten dinamik, veri odaklı sunumlar oluşturabilir.
Bir seri, bir grafikte çizilen sayıların bir satır veya sütunudur.

Grafik Serisi Çakışmasını Ayarlama
IChartSeries.getOverlap yöntemiyle, 2D bir grafikte çubukların ve sütunların ne kadar çakışması gerektiğini belirleyebilirsiniz (aralık: -100 ile 100). Bu özellik, üst seriler grubunun tüm serilerine uygulanır: bu uygun grup özelliğinin bir yansımasıdır. Bu nedenle, bu özellik yalnızca okunabilir.
İstediğiniz çakışma değerini ayarlamak için getParentSeriesGroup().setOverlap() yazma yöntemini kullanın.
- Bir Presentation sınıfının örneğini oluşturun.
- Bir slayta kümelenmiş sütun grafiği ekleyin.
- İlk grafik serisine erişin.
- Grafik serisinin
ParentSeriesGroupözelliğine erişin ve seri için istediğiniz çakışma değerini ayarlayın. - Değiştirilmiş sunumu bir PPTX dosyasına yazın.
Bu Java kodu, bir grafik serisinin çakışmasını nasıl ayarlayacağınızı gösterir:
Presentation pres = new Presentation();
try {
// Grafik ekler
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.getChartData().getSeries();
if (series.get_Item(0).getOverlap() == 0)
{
// Serinin çakışmasını ayarlar
series.get_Item(0).getParentSeriesGroup().setOverlap((byte)-30);
}
// Sunum dosyasını diske yazar
pres.save("SetChartSeriesOverlap_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Seri Rengini Değiştir
Aspose.Slides for Android via Java, bir serinin rengini şu şekilde değiştirmenizi sağlar:
- Bir Presentation sınıfının örneğini oluşturun.
- Slayta bir grafik ekleyin.
- Rengini değiştirmek istediğiniz seriye erişin.
- İstediğiniz dolgu tipini ve dolgu rengini ayarlayın.
- Değiştirilmiş sunumu kaydedin.
Bu Java kodu, bir serinin rengini nasıl değiştireceğinizi gösterir:
Presentation pres = new Presentation("test.pptx");
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Pie, 50, 50, 600, 400);
IChartDataPoint point = chart.getChartData().getSeries().get_Item(0).getDataPoints().get_Item(1);
point.setExplosion(30);
point.getFormat().getFill().setFillType(FillType.Solid);
point.getFormat().getFill().getSolidFillColor().setColor(Color.BLUE);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Seri Kategori Rengini Değiştir
Aspose.Slides for Android via Java, bir seri kategorisinin rengini şu şekilde değiştirmenizi sağlar:
- Bir Presentation sınıfının örneğini oluşturun.
- Slayta bir grafik ekleyin.
- Rengini değiştirmek istediğiniz seri kategorisine erişin.
- İstediğiniz dolgu tipini ve dolgu rengini ayarlayın.
- Değiştirilmiş sunumu kaydedin.
Bu Java kodu, bir seri kategorisinin rengini nasıl değiştireceğinizi gösterir:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
IChartDataPoint point = chart.getChartData().getSeries().get_Item(0).getDataPoints().get_Item(0);
point.getFormat().getFill().setFillType(FillType.Solid);
point.getFormat().getFill().getSolidFillColor().setColor(Color.BLUE);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Seri Adını Değiştir
Varsayılan olarak, bir grafiğin gösterge adları, her sütun veya satırın üzerindeki hücrelerin içeriğidir.
Örnek olarak (örnek görsel),
- sütunlar Series 1, Series 2, ve Series 3;
- satırlar Category 1, Category 2, Category 3, ve Category 4.
Aspose.Slides for Android via Java, bir serinin adını grafik verilerinde ve gösterge içinde güncellemenizi veya değiştirmenizi sağlar.
Bu Java kodu, ChartDataWorkbook içindeki bir serinin adını nasıl değiştireceğinizi gösterir:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Column3D, 50, 50, 600, 400, true);
IChartDataCell seriesCell = chart.getChartData().getChartDataWorkbook().getCell(0, 0, 1);
seriesCell.setValue("New name");
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Bu Java kodu, Series aracılığıyla bir serinin adını gösterge içinde nasıl değiştireceğinizi gösterir:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Column3D, 50, 50, 600, 400, true);
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
IStringChartValue name = series.getName();
name.getAsCells().get_Item(0).setValue("New name");
} finally {
if (pres != null) pres.dispose();
}
Grafik Serisi Dolgu Rengini Ayarla
Aspose.Slides for Android via Java, bir çizim alanı içinde grafik serileri için otomatik dolgu rengini şu şekilde ayarlamanızı sağlar:
- Bir Presentation sınıfının örneğini oluşturun.
- İndeksiyle bir slayt referansı alın.
- Tercih ettiğiniz türe göre varsayılan verilerle bir grafik ekleyin (aşağıdaki örnekte
ChartType.ClusteredColumnkullandık). - Grafik serisine erişin ve dolgu rengini Automatic (Otomatik) olarak ayarlayın.
- Sunumu bir PPTX dosyasına kaydedin.
Bu Java kodu, bir grafik serisinin otomatik dolgu rengini nasıl ayarlayacağınızı gösterir:
Presentation pres = new Presentation();
try {
// Kümelenmiş sütun grafik oluşturur
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 50, 600, 400);
// Seri dolgu biçimini otomatik olarak ayarlar
for (int i = 0; i < chart.getChartData().getSeries().size(); i++)
{
chart.getChartData().getSeries().get_Item(i).getAutomaticSeriesColor();
}
// Sunum dosyasını diske yazar
pres.save("AutoFillSeries_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Bir Grafik Serisi için Ters Dolgu Rengini Ayarla
Aspose.Slides, bir çizim alanı içinde grafik serileri için ters dolgu rengini şu şekilde ayarlamanızı sağlar:
- Bir Presentation sınıfının örneğini oluşturun.
- İndeksiyle bir slayt referansı alın.
- Tercih ettiğiniz türe göre varsayılan verilerle bir grafik ekleyin (aşağıdaki örnekte
ChartType.ClusteredColumnkullandık). - Grafik serisine erişin ve dolgu rengini invert (ters) olarak ayarlayın.
- Sunumu bir PPTX dosyasına kaydedin.
Bu Java kodu işlemi göstermektedir:
Color inverColor = Color.RED;
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 400, 300);
IChartDataWorkbook workBook = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Yeni seriler ve kategoriler ekler
chart.getChartData().getSeries().add(workBook.getCell(0, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getCategories().add(workBook.getCell(0, 1, 0, "Category 1"));
chart.getChartData().getCategories().add(workBook.getCell(0, 2, 0, "Category 2"));
chart.getChartData().getCategories().add(workBook.getCell(0, 3, 0, "Category 3"));
// İlk grafik serisini alır ve seri verilerini doldurur.
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForBarSeries(workBook.getCell(0, 1, 1, -20));
series.getDataPoints().addDataPointForBarSeries(workBook.getCell(0, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(workBook.getCell(0, 3, 1, -30));
Color seriesColor = series.getAutomaticSeriesColor();
series.setInvertIfNegative(true);
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(seriesColor);
series.getInvertedSolidFillColor().setColor(inverColor);
pres.save("SetInvertFillColorChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Değer Negatif Olduğunda Seriyi Ters Yap
Aspose.Slides, IChartDataPoint.InvertIfNegative ve ChartDataPoint.InvertIfNegative özellikleri aracılığıyla terslemeleri ayarlamanıza izin verir. Bu özellikler kullanılarak bir tersleme ayarlandığında, veri noktası negatif bir değer aldığında renklerini ters çevirir.
Bu Java kodu işlemi göstermektedir:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.getChartData().getSeries();
chart.getChartData().getSeries().clear();
IChartSeries chartSeries = series.add(chart.getChartData().getChartDataWorkbook().getCell(0, "B1"), chart.getType());
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B2", -5));
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B3", 3));
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B4", -2));
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B5", 1));
chartSeries.setInvertIfNegative(false);
chartSeries.getDataPoints().get_Item(2).setInvertIfNegative(true);
pres.save("out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Belirli Nokta Verilerini Temizle
Aspose.Slides for Android via Java, belirli bir grafik serisi için DataPoints verilerini şu şekilde temizlemenizi sağlar:
- Bir Presentation sınıfının örneğini oluşturun.
- İndeks aracılığıyla bir slayt referansı alın.
- İndeks aracılığıyla bir grafik referansı alın.
- Tüm grafik
DataPointsiçinde döngü yapın veXValueveYValuedeğerlerini null olarak ayarlayın. - Belirli grafik serisi için tüm
DataPointsöğelerini temizleyin. - Değiştirilmiş sunumu bir PPTX dosyasına yazın.
Bu Java kodu işlemi göstermektedir:
Presentation pres = new Presentation("TestChart.pptx");
try {
ISlide sl = pres.getSlides().get_Item(0);
IChart chart = (IChart)sl.getShapes().get_Item(0);
for (IChartDataPoint dataPoint : chart.getChartData().getSeries().get_Item(0).getDataPoints())
{
dataPoint.getXValue().getAsCell().setValue(null);
dataPoint.getYValue().getAsCell().setValue(null);
}
chart.getChartData().getSeries().get_Item(0).getDataPoints().clear();
pres.save("ClearSpecificChartSeriesDataPointsData.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Seri Boşluk Genişliğini Ayarla
Aspose.Slides for Android via Java, bir serinin GapWidth özelliği aracılığıyla Boşluk Genişliğini şu şekilde ayarlamanızı sağlar:
- Bir Presentation sınıfının örneğini oluşturun.
- İlk slayta erişin.
- Varsayılan verilerle bir grafik ekleyin.
- Herhangi bir grafik serisine erişin.
GapWidthözelliğini ayarlayın.- Değiştirilmiş sunumu bir PPTX dosyasına yazın.
Bu Java kodu, bir serinin Boşluk Genişliğini nasıl ayarlayacağınızı gösterir:
// Boş sunum oluşturur
Presentation pres = new Presentation();
try {
// Sunumun ilk slaytına erişir
ISlide slide = pres.getSlides().get_Item(0);
// Varsayılan veriyle bir grafik ekler
IChart chart = slide.getShapes().addChart(ChartType.StackedColumn, 0, 0, 500, 500);
// Grafik veri sayfasının indeksini ayarlar
int defaultWorksheetIndex = 0;
// Grafik veri çalışma sayfasını alır
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Seri ekler
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType());
// Kategoriler ekler
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// İkinci grafik serisini alır
IChartSeries series = chart.getChartData().getSeries().get_Item(1);
// Seri verilerini doldurur
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// GapWidth değerini ayarlar
series.getParentSeriesGroup().setGapWidth(50);
// Sunumu diske kaydeder
pres.save("GapWidth_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
SSS
Tek bir grafik kaç seri içerebilir konusunda bir sınırlama var mı?
Aspose.Slides, eklediğiniz seri sayısında sabit bir sınır koymaz. Pratik üst sınır, grafiğin okunabilirliği ve uygulamanızın sahip olduğu bellekle belirlenir.
Kümedeki sütunlar çok yakına mı yoksa çok uzağa mı?
Bu seri (veya üst seri grubu) için GapWidth ayarını değiştirin. Değeri artırmak sütunlar arasındaki boşluğu genişletirken, değeri azaltmak onları birbirine daha yakın hale getirir.