Grafiklerle Çalışmak
DocumentBuilder sınıfına yeni InsertChart yöntemi eklendi. Şimdi InsertChart yöntemini kullanarak belgeye basit bir sütun grafiğinin nasıl ekleneceğini görelim.
Grafik Nasıl Eklenir
Bu bölümde bir belgeye nasıl grafik ekleyeceğimizi öğreneceğiz.
Sütun Grafiği Ekle
Aşağıdaki kod örneği, sütun grafiğinin nasıl ekleneceğini gösterir:
Kod aşağıdaki sonucu üretir:
Tüm grafik türleri için veri kaynaklarının tüm olası varyantlarını kapsadığı açıklanan Seri Ekleme yöntemi için dört farklı aşırı yükleme vardır:
Kod aşağıdaki sonucu üretir:
Dağılım Grafiği Ekle
Aşağıdaki kod örneği dağılım grafiğinin nasıl ekleneceğini gösterir:
Kod aşağıdaki sonucu üretir:
Alan Grafiği Ekle
Aşağıdaki kod örneği alan grafiğinin nasıl ekleneceğini gösterir:
Kod aşağıdaki sonucu üretir:
Kabarcık Grafiği Ekle
Aşağıdaki kod örneği, kabarcık grafiğinin nasıl ekleneceğini gösterir:
Kod aşağıdaki sonucu üretir:
Shape.Chart
Nesnesi Aracılığıyla Grafiklerle Çalışmak
Grafik eklenip verilerle doldurulduktan sonra görünümünü değiştirebilirsiniz. Shape.Chart
özelliği, genel API aracılığıyla kullanılabilen grafikle ilgili tüm seçenekleri içerir.
Örneğin, Grafik başlığını veya açıklama davranışını değiştirelim:
Kod aşağıdaki sonuçları üretir:
ChartSeriesCollection of Chart ile Nasıl Çalışılır
ChartSeries koleksiyonuna bakalım. Tüm grafik serilerine IEnumerable olan chart.Series koleksiyonu aracılığıyla ulaşılabilir:
Serileri tek tek kaldırabileceğiniz gibi hepsini temizleyebileceğiniz gibi, ihtiyaç halinde yeni bir seri de ekleyebilirsiniz. Yeni eklenen grafikte bu koleksiyona eklenen bazı varsayılan seriler var. Bunları kaldırmak için chart.Series.Clear() yöntemini çağırmanız gerekir.
Tek ChartSeries Sınıfıyla Çalışmak
Belirli bir seriyle nasıl çalışılacağı aşağıda açıklanmıştır:
Lütfen aşağıdaki sonuca bakın:
Tüm tek ChartSeries‘lerin varsayılan ChartDataPoint seçenekleri vardır; bunları değiştirmek için lütfen aşağıdaki kodu kullanmayı deneyin:
Lütfen aşağıdaki sonuca bakın:
ChartSeries
‘in Tek ChartDataPoint’iyle Nasıl Çalışılır?
ChartDataPoint‘i kullanarak grafik serisinin tek bir veri noktasının formatını özelleştirebilirsiniz:
Lütfen aşağıdaki sonuca bakın:
Tek bir ChartSeries’in ChartDataLabel’ı ile Nasıl Çalışılır?
ChartDataLabel‘i kullanarak, grafik serisinin tek bir veri etiketinin formatını, LegendKey’i göster/gizle, KategoriAdı, SeriAdı, Değer vb. gibi belirtebilirsiniz:
Lütfen aşağıdaki sonuca bakın:
ChartSeries’in ChartDataLabels’ı için Varsayılan Seçenekler Nasıl Tanımlanır?
ChartDataLabelCollection sınıfı, Grafik Series için ChartDataLabels‘ye ilişkin varsayılan seçenekleri ayarlamak için kullanılabilecek özellikleri tanımlar. Bu özellikler arasında ShowCategoryName, ShowBubbleSize, ShowPercentage, ShowSeriesName, ShowValue vb. bulunur:
Lütfen aşağıdaki sonuca bakın:
Grafik Veri Etiketi Sayısı Nasıl Biçimlendirilir
NumberFormat‘i kullanarak grafiğin tek bir veri etiketinin sayı formatını belirleyebilirsiniz.
Aşağıdaki kod örneği, bir dizi veri etiketinin nasıl biçimlendirileceğini gösterir:
Grafik Ekseni Özellikleri Nasıl Ayarlanır
Değer ekseni için grafik ekseni, ölçeklendirme ve görüntüleme birimleriyle çalışmak istiyorsanız lütfen ChartAxis, AxisDisplayUnit ve AxisScaling sınıflarını kullanın.
Aşağıdaki kod örneği, X ve Y ekseni özelliklerinin nasıl tanımlanacağını gösterir:
Eksenin Date Zaman Değeri Nasıl Ayarlanır
Aşağıdaki kod örneği, tarih/saat değerlerinin eksen özelliklerine nasıl ayarlanacağını gösterir:
Eksenin Sayı Değeri Nasıl Formatlanır?
Aşağıdaki kod örneği, değer eksenindeki sayıların biçiminin nasıl değiştirileceğini gösterir:
Eksen Sınırları Nasıl Ayarlanır
AxisBound
sınıfı, eksen değerlerinin minimum veya maksimum sınırını temsil eder. Sınır; sayısal, tarih-saat veya özel bir “otomatik” değer olarak belirtilebilir.
Aşağıdaki kod örneği, bir eksenin sınırlarının nasıl ayarlanacağını gösterir:
Etiketler Arasındaki Aralık Birimi Nasıl Ayarlanır
Aşağıdaki kod örneği, bir eksendeki etiketler arasındaki aralık biriminin nasıl ayarlanacağını gösterir:
Grafik Eksenini Gizleme
Grafik eksenini göstermek veya gizlemek istiyorsanız bunu ChartAxis.Hidden
özelliğinin değerini ayarlayarak kolayca yapabilirsiniz.
Aşağıdaki kod örneği, grafiğin Y ekseninin nasıl gizleneceğini gösterir:
Grafik Etiketi Nasıl Hizalanır?
Çok satırlı etiketler için metin hizalamasını ayarlamak istiyorsanız bunu TickLabels.Alignment özelliğinin değerini ayarlayarak kolayca yapabilirsiniz.
Aşağıdaki kod örneği, etiket hizalamasının nasıl işaretleneceğini gösterir:
Dolgu ve Kontur Biçimlendirmesi Nasıl Ayarlanır
Grafik serileri, veri noktaları ve işaretçiler için dolgu ve kontur biçimlendirmesi ayarlanabilir. Bunu yapmak için ChartSeries, ChartDataPoint ve ChartMarker sınıflarında ChartFormat türünün özelliklerini, ayrıca Stroke
sınıfında ForeColor, BackColor, Visible ve Transparency gibi bazı özelliklerin takma adlarını kullanmanız gerekir.
Aşağıdaki kod örneği seri renginin nasıl ayarlanacağını gösterir:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };
// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });
// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;
doc.Save(dir + "ColumnColor.docx");
Aşağıdaki kod örneği çizgi renginin ve kalınlığının nasıl ayarlanacağını gösterir:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 },
new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 },
new double[] { 3, 1, 2 });
// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;
doc.Save(dir + "LineColorAndWeight.docx");