Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Mini grafikler, tam bir grafiğin yer kaplamadan veri satırı veya sütununun yanında hızlı bir eğilim görüntülemek istediğinizde kullanışlı olan hücre içi küçük grafiklerdir. Excel üç tür mini grafiği destekler: çizgi, sütun ve kazanma/kaybetme. Aspose.Cells, bu yeteneği Aspose.Cells.Charts ad alanında bulunan SparklineGroup ve SparklineGroupCollection API’leri aracılığıyla yansıtır.
Aspose.Cells’de eklediğiniz her mini grafik, bir SparklineGroup nesnesi döndüren worksheet.getSparklineGroups().add(...) yöntemi aracılığıyla oluşturulur. Ardından bu nesneyi mini grafik türünü, veri aralığını, hedef hücreyi ve çizgi rengi, çizgi kalınlığı, işaretleyiciler ve yüksek/düşük nokta göstergeleri gibi görsel özellikleri ayarlamak için kullanabilirsiniz.
SparklineGroup, aynı stili paylaşan bir veya daha fazla mini grafik içerebilir. add yöntemini çağırıp bir veri satırı ve tek bir hedef hücre geçtiğinizde, o hücrenin içinde bir mini grafik elde edersiniz. Hedef aralığınız bir hücreden genişse, her hedef hücrede aynı stili ve veri aralığını kullanan ayrı bir mini grafik çizilir.
Bu makale, Aspose.Cells tarafından desteklenen üç mini grafik türünün her birini — Çizgi, Sütun ve Kazanma/Kaybetme — ele alır ve bunların nasıl ekleneceğini, renklerinin nasıl özelleştirileceğini ve sonuçtaki çalışma kitabının nasıl kaydedileceğini gösterir.
Çizgi mini grafiği, bir serideki veri noktalarının içinden sürekli bir çizgi çizer ve bu da onu zaman içindeki eğilimleri göstermek için en doğal seçim yapar. Aspose.Cells’de, add yöntemine SparklineType.LINE geçirilerek bir çizgi mini grafiği oluşturulur.
İş akışı, diğer tüm mini grafik türleriyle aynıdır:
Workbook oluşturun ve ilk çalışma sayfasına erişin.CellArea oluşturun.worksheet.getSparklineGroups().add(SparklineType.LINE, "A1:E1", false, dest) çağrısını yapın. Üçüncü argüman olan false, Aspose.Cells’e veri aralığının yatay (bir satır) olduğunu, dikey (bir sütun) olmadığını söyler.SparklineGroup öğesini özelleştirin. Bir çizgi mini grafiği için group.getLine().setColor(...) kullanarak çizgi rengini ayarlayabilirsiniz (Aspose.Cells.Drawing ad alanından bir CellsColor bekler), çizgi kalınlığını ayarlayabilir ve yüksek/düşük nokta işaretleyicilerini açıp kapatabilirsiniz.Aşağıdaki örnek bir çalışma kitabı oluşturur, A1 ile E1 hücrelerine 5, -3, 8, -2, 6 değerlerini yazar ve F1 hücresinde bu değerleri izleyen bir çizgi mini grafiği ekler. Ayrıca çizgi rengini kırmızı olarak özelleştirir ve yüksek ile düşük noktalar için işaretleyicileri etkinleştirir.
public class CodeRunner {
public static void main(String[] args) {
try {
// Adım 1: Bir Workbook oluştur ve ilk çalışma sayfasını al
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);
Cells cells = worksheet.getCells();
// Adım 2: A1:E1 hücrelerine 5, -3, 8, -2, 6 örnek değerlerini yaz
cells.get("A1").putValue(5);
cells.get("B1").putValue(-3);
cells.get("C1").putValue(8);
cells.get("D1").putValue(-2);
cells.get("E1").putValue(6);
// Adım 3: Hedef hücre F1'i gösteren bir CellArea oluştur
CellArea dest = new CellArea();
dest.StartColumn = 5; // sütun F (0-indeksli)
dest.EndColumn = 5;
dest.StartRow = 0; // satır 1 (0-indeksli)
dest.EndRow = 0;
// Adım 4: A1:E1'den F1'e bir Çizgi sparkline ekle
// SparklineGroups.add, yeni eklenen grubun indeksini döndürür
int index = worksheet.getSparklineGroups().add(SparklineType.LINE, "A1:E1", false, dest);
SparklineGroup group = worksheet.getSparklineGroups().get(index);
// Adım 5: Kırmızı bir CellsColor oluştur ve bunu sparkline çizgi rengine ata
CellsColor red = workbook.createCellsColor();
red.setColor(com.aspose.cells.Color.getRed());
group.setSeriesColor(red);
// Adım 6: Yüksek nokta ve düşük nokta işaretleyicilerini etkinleştir
group.setShowHighPoint(true);
group.setShowLowPoint(true);
// Adım 7: Workbook'u kaydet
workbook.save("output_line.xlsx");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sütun mini grafiği, her veri noktasını dikey bir çubuk olarak işler. Bu, onu büyüklüğün anlamlı olduğu veriler için çok uygun hale getirir — örneğin, aylık satış rakamları veya sayımlar. Aspose.Cells’de, add yöntemine SparklineType.COLUMN geçirilerek bir sütun mini grafiği oluşturulur.
Prosedür, çizgi mini grafiği örneğini yansıtır:
Workbook oluşturun ve ilk çalışma sayfasına erişin.CellArea oluşturun.worksheet.getSparklineGroups().add(SparklineType.COLUMN, "A1:E1", false, dest) çağrısını yapın.SparklineGroup öğesini özelleştirin — örneğin, group.getType() ayarlayarak türü doğrulayın veya çubuk rengini ayarlayın.Aşağıdaki örnek A1:E1’e 5, -3, 8, -2, 6 değerlerini yazar ve F1’de bir sütun mini grafiği işler. Negatif değerler aşağı yönlü çubuklar, pozitif değerler ise yukarı yönlü çubuklar olarak çizilir; bu da pozitif ve negatif katkıların bir bakışta kolayca fark edilmesini sağlar.
import com.aspose.cells.*;
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);
// A1:E1 hücrelerine örnek değerler yaz
int[] values = new int[] { 5, -3, 8, -2, 6 };
for (int i = 0; i < values.length; i++) {
worksheet.getCells().get(0, i).putValue(values[i]);
}
// F1 hücresini (sütun indeksi 5, satır indeksi 0) gösteren bir CellArea oluştur
CellArea dest = new CellArea();
dest.setStartColumn(5);
dest.setEndColumn(5);
dest.setStartRow(0);
dest.setEndRow(0);
// Hedef hücreye bir Sütun sparkline ekle
int idx = worksheet.getSparklineGroups().add(SparklineType.COLUMN, "A1:E1", false, dest);
SparklineGroup group = worksheet.getSparklineGroups().get(idx);
// group.Type okuyarak sparkline türünü doğrula
System.out.println("Sparkline Type added: " + group.getType());
// Çalışma kitabını kaydet
workbook.save("output_column.xlsx");
System.out.println("Workbook saved as output_column.xlsx");
Kazanma/kaybetme mini grafiği, yalnızca iki sonucu göstermek için tasarlanmış özel bir sütun mini grafiği çeşididir: pozitif bir değer “yukarı” çubuğu (kazanma) olarak, sıfır veya negatif bir değer ise “aşağı” çubuğu (kaybetme) olarak çizilir. Kazanma/kaybetme mini grafikleri, genellikle kazanma ve kaybetme dizilerini, geçer/kalır sonuçlarını veya zaman içindeki herhangi bir ikili sonucu görselleştirmek için kullanılır.
Aspose.Cells’de, add yöntemine SparklineType.STACKED geçirilerek bir kazanma/kaybetme mini grafiği oluşturulur. (Adına rağmen, SparklineType.STACKED, kazanma/kaybetme işlemesini istemek için kullanılan enum değeridir.)
Prosedür, diğer iki türle aynıdır:
Workbook oluşturun ve ilk çalışma sayfasına erişin.CellArea oluşturun.worksheet.getSparklineGroups().add(SparklineType.STACKED, "A1:E1", false, dest) çağrısını yapın.SparklineGroup öğesini özelleştirin, örneğin kazanma ve kaybetme çubukları için vurgu renklerini ayarlayın.Aşağıdaki örnek, önceki iki bölümdekiyle aynı giriş verilerini kullanır. 5, -3, 8, -2, 6 değerleri kazanma, kaybetme, kazanma, kaybetme, kazanma olarak yorumlanır — ve F1’de çizilen mini grafik tam olarak bu örüntüyü yansıtır.
import com.aspose.cells.*;
import com.aspose.cells.charts.*;
import com.aspose.cells.drawing.*;
import java.awt.Color;
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);
worksheet.setName("WinLoss");
// Örnek verileri doldur
worksheet.getCells().get("A1").putValue(5);
worksheet.getCells().get("B1").putValue(-3);
worksheet.getCells().get("C1").putValue(8);
worksheet.getCells().get("D1").putValue(-2);
worksheet.getCells().get("E1").putValue(6);
// F1 hücresini gösteren bir CellArea oluştur (sütun 5, satır 0)
CellArea dest = new CellArea();
dest.setStartColumn(5);
dest.setEndColumn(5);
dest.setStartRow(0);
dest.setEndRow(0);
// Bir Kazanma/Kaybetme mini grafik ekle (SparklineType.Stacked)
int groupIndex = worksheet.getSparklineGroups().add(SparklineType.STACKED, "A1:E1", false, dest);
SparklineGroup group = worksheet.getSparklineGroups().get(groupIndex);
// Mini grafik grubunu özelleştir
group.setShowHighPoint(true);
group.setShowLowPoint(true);
group.setShowNegativePoints(true);
// En yüksek nokta rengini yeşil olarak ayarla
CellsColor highColor = workbook.createCellsColor();
highColor.setColor(Color.GREEN);
group.setHighPointColor(highColor);
// En düşük nokta rengini kırmızı olarak ayarla
CellsColor lowColor = workbook.createCellsColor();
lowColor.setColor(Color.RED);
group.setLowPointColor(lowColor);
// Negatif nokta rengini turuncu olarak ayarla
CellsColor negColor = workbook.createCellsColor();
negColor.setColor(Color.ORANGE);
group.setNegativePointsColor(negColor);
// Varsayılan seri rengini ayarla (pozitif çubuklar için kullanılır)
CellsColor seriesColor = workbook.createCellsColor();
seriesColor.setColor(new Color(70, 130, 180)); // SteelBlue yaklaşımı
group.setSeriesColor(seriesColor);
// Çalışma kitabını kaydet
workbook.save("output_winloss.xlsx");
System.out.println("Workbook saved successfully: output_winloss.xlsx");
Önceki üç örnek, çıktı dosyalarının ayrı ayrı incelenmesini kolaylaştırmak için kendi çalışma kitaplarını üretir. Ancak gerçek dünya senaryosunda, genellikle birkaç veri serisini yan yana karşılaştırmak isteyeceksiniz. Bunu yapmanın en temiz yolu, her grup farklı bir stil işleyecek şekilde, aynı çalışma sayfasına birden fazla mini grafik grubu koymaktır.
Aynı SparklineGroupCollection öğesine birden fazla SparklineGroup nesnesi ekleyebilirsiniz ve her grup farklı bir hedef hücreyi veya farklı bir aralığı hedefleyebilir. Örneğin, F1’e bir çizgi mini grafiği, F2’ye bir sütun mini grafiği ve F3’e bir kazanma/kaybetme mini grafiği yerleştirebilirsiniz — tümü satır 1’deki aynı kaynak verilerden okuyarak — böylece okuyucu aynı sayıların üç farklı görsel işlemesini görebilir.
Aşağıdaki birleşik örnek tek bir çalışma kitabı oluşturur, satır 1’i 5, -3, 8, -2, 6 değerleriyle doldurur ve ardından F1, F2 ve F3 hücrelerine üç mini grafik grubu ekler — her türden bir tane — böylece sonuçtaki dosya üç mini grafik stilini bir anda gösterir.
import com.aspose.cells.*;
// Adım 1: Bir Workbook oluşturun ve ilk çalışma sayfasını alın
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);
// Adım 2: 1. satıra örnek verileri doldurun (A1:E1)
worksheet.getCells().get("A1").putValue(5);
worksheet.getCells().get("B1").putValue(-3);
worksheet.getCells().get("C1").putValue(8);
worksheet.getCells().get("D1").putValue(-2);
worksheet.getCells().get("E1").putValue(6);
// Adım 3: F1'e bir Çizgi sparkline grubu ekleyin
CellArea lineArea = CellArea.createCellArea(0, 5, 0, 5); // Düzeltme: Statik fabrika yöntemi kullanın
int lineIdx = worksheet.getSparklineGroups().add(SparklineType.LINE, "A1:E1", false, lineArea);
SparklineGroup lineGroup = worksheet.getSparklineGroups().get(lineIdx);
// CellsColor aracılığıyla çizgi sparkline rengini özelleştirin
CellsColor lineColor = workbook.createCellsColor();
lineColor.setColor(com.aspose.cells.Color.getBlue());
lineGroup.setSeriesColor(lineColor);
// Adım 4: F2'ye bir Sütun sparkline grubu ekleyin
CellArea columnArea = CellArea.createCellArea(1, 5, 1, 5); // Düzeltme: Statik fabrika yöntemi kullanın
int columnIdx = worksheet.getSparklineGroups().add(SparklineType.COLUMN, "A1:E1", false, columnArea);
SparklineGroup columnGroup = worksheet.getSparklineGroups().get(columnIdx);
// Sütun sparkline seri rengini özelleştirin
CellsColor columnColor = workbook.createCellsColor();
columnColor.setColor(com.aspose.cells.Color.getGreen());
columnGroup.setSeriesColor(columnColor);
// Adım 5: F3'e bir Kazanma/Kaybetme (Yığılmış) sparkline grubu ekleyin
CellArea stackedArea = CellArea.createCellArea(2, 5, 2, 5); // Düzeltme: Statik fabrika yöntemi kullanın
int stackedIdx = worksheet.getSparklineGroups().add(SparklineType.STACKED, "A1:E1", false, stackedArea);
SparklineGroup stackedGroup = worksheet.getSparklineGroups().get(stackedIdx);
// Kazanma/kaybetme sparkline seri rengini özelleştirin
CellsColor stackedColor = workbook.createCellsColor();
stackedColor.setColor(com.aspose.cells.Color.getDarkOrange());
stackedGroup.setSeriesColor(stackedColor);
// Adım 6: Çalışma kitabını kaydedin
workbook.save("output_all.xlsx");
Bir SparklineGroup oluşturulup worksheet.getSparklineGroups() öğesine eklendikten sonra, çalışma kitabını kaydetmeden önce çeşitli görsel özelliklerini okuyabilir veya değiştirebilirsiniz. En sık özelleştirilen özellikler şunlardır:
group.getType() — SparklineType (LINE, COLUMN veya STACKED). Grup eklendiğinde ayarlanır, ancak onaylamak için geri okuyabilirsiniz.group.getLine().setColor(...) — workbook.createCellsColor() ile oluşturulan bir CellsColor olarak ifade edilen çizgi rengi. Bu, çizgi mini grafiği kontur rengi için kullanılacak özelliktir.group.getLine().setWeight(...) — çizgi kalınlığı, punto cinsinden. Daha yüksek değerler daha kalın çizgiler üretir.Bir rengi değiştirmek için her zaman bir CellsColor örneği oluşturun ve ilgili özelliğe atayın. Mini grafik renk özelliklerine doğrudan bir java.awt.Color atamayın — bunlar Aspose.Cells.Drawing ad alanından CellsColor türünü bekler. add yönteminin kendisi tam olarak yazılmış bir SparklineGroup nesnesi döndürür, böylece dönüş değeri üzerinde özellik atamalarını zincirleyebilir veya onu yerel bir değişkende saklayıp kaydetmeden önce özelleştirebilirsiniz.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.