Grafiklerle Çalışmak
DocumentBuilder sınıfına yeni insert_chart yöntemi eklendi. Şimdi DocumentBuilder.insert_chart 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 olası tüm çeşitlerini kapsayacak şekilde sunulan add, add_double ve add_date yöntemleri vardır:
Kod aşağıdaki sonucu üretir:
Dağılım Grafiği Ekle
Aşağıdaki örnekte dağılım grafiğinin nasıl ekleneceği gösterilmektedir.
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, Chart 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 Chart.series koleksiyonundan 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 Serisi için ChartDataLabels‘nin varsayılan seçeneklerini ayarlamak için kullanılabilecek özellikleri tanımlar. Bu özellikler show_category_name, show_bubble_size, show_percentage, show_series_name, show_value vb. içerir.
Lütfen aşağıdaki sonuca bakın:
Grafik Veri Etiketi Sayısı Nasıl Biçimlendirilir
ChartDataLabel.number_format‘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ı ayarlamak istiyorsanız bunu ChartAxis.tick_label_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 fore_color, back_color, 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:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252)
chart = shape.chart
seriesColl = chart.series
# Delete default generated series.
seriesColl.clear()
# Create category names array.
categories = [ "AW Category 1", "AW Category 2" ]
# Adding new series. Value and category arrays must be the same size.
series1 = seriesColl.add("AW Series 1", categories, [ 1, 2 ])
series2 = seriesColl.add("AW Series 2", categories, [ 3, 4 ])
series3 = seriesColl.add("AW Series 3", categories, [ 5, 6 ])
# Set series color.
series1.format.fill.fore_color = drawing.Color.red
series2.format.fill.fore_color = drawing.Color.yellow
series3.format.fill.fore_color = drawing.Color.blue
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.set_series_color.docx")
Aşağıdaki kod örneği çizgi renginin ve kalınlığının nasıl ayarlanacağını gösterir:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252)
chart = shape.chart
seriesColl = chart.series
# Delete default generated series.
seriesColl.clear()
# Adding new series.
series1 = seriesColl.add_double("AW Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ])
series2 = seriesColl.add_double("AW Series 2", [ 0.5, 1.5, 2.5 ], [ 3, 1, 2 ])
# Set series color.
series1.format.stroke.fore_color = drawing.Color.red
series1.format.stroke.weight = 5
series2.format.stroke.fore_color = drawing.Color.light_green
series2.format.stroke.weight = 5
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.line_color_and_weight.docx")