Grafiklerle Çalışma

Grafiklerle Çalışma

Grafikleriyle Çalışma

Aspose.Words FOSS for .NET yerel Word grafiklerini — Word’ün kendisinin oluşturduğu aynı DrawingML grafiklerini — çizim katmanında bir şekil olarak ekleyebilir. DocumentBuilder.InsertChart şekli oluşturur ve döndürür; şeklin Chart özelliği serileri, eksenleri, lejandı ve biçimlendirmeyi ortaya çıkarır. Bu kılavuz, bir grafik oluşturmayı, grafik tipini seçmeyi, seriler ve veri noktalarıyla çalışmayı, eksenler ve ızgara çizgilerini ve grafik öğelerinin biçimlendirilmesini kapsar.


Grafik Oluşturma

DocumentBuilder.InsertChart(chartType, width, height)‘ı çağırarak imleç konumunda bir grafik şekli ekleyin ve içinde bulunan Shape‘i geri alın. Bunun Chart özelliği, yapılandırdığınız Chart nesnesidir. Yeni eklenen bir grafik, yer tutucu demo serileriyle gelir, bu yüzden gerçek veri eklemeden önce Chart.Series‘i ChartSeriesCollection.Add(seriesName, categories, values) ile temizleyin:

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");

Bu örnek bir Document oluşturur, DocumentBuilder.InsertChart(ChartType.Line, 432, 252) kullanarak bir çizgi grafik şekli ekler, shape.Chart okuyarak Chart nesnesini alır, chart.Series.Clear() çağırarak yer tutucu seriyi kaldırır, chart.Series.Add(seriesName, categories, values) ile bir gerçek seri ekler ve sonucu Document.Save ile yazar.


Grafik Türleri

ChartType, standart Word grafik ailelerini kapsar — Line, Bar, Column (ve bunların Stacked, PercentStacked ve 3D varyantları), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface ve yeni Word 2016 grafik türleri Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker ve Waterfall. İstenen değeri chartType argümanı olarak InsertChart‘e aktarın; eklemeden sonra mevcut bir grafiğin türünü değiştirmek, şekli değiştirmek dışında bir yol yoktur.


Seriler ve Veri Noktaları

Chart.Series, ChartSeries nesnelerinin bir ChartSeriesCollectiondir. Yukarıda kullanılan Add(seriesName, categories, values) aşırı yüklemesinin ötesinde, ChartSeriesCollection ayrıca X/Y değer çiftleri, tarihler ve balon boyutları için aşırı yüklemelere sahiptir, ayrıca Insert, Remove(index) ve Clear(). Her ChartSeries, DataPoints (bir ChartDataPointCollection) sunar; nokta başına biçimlendirme için — Format, Marker, Explosion ve InvertIfNegative — ve HasDataLabels / DataLabels bir ChartDataLabelCollection (ShowValue, ShowCategoryName, ShowPercentage, Position) etkinleştirmek ve yapılandırmak için.


Eksenler ve Izgara Çizgileri

Chart.AxisX, AxisY ve AxisZ, ChartAxis nesneleridir (tümünü yinelemek için bir ChartAxisCollection olarak Chart.Axes ile). Her eksen HasMajorGridlines / HasMinorGridlines, MajorUnit / MinorUnit (eşleşen *IsAuto bayraklarıyla), Crosses / CrossesAt, CategoryType ve etiket yazı tipi ve yönelimi için bir TickLabels nesnesi (AxisTickLabels) içerir. ChartAxis.Title (ChartAxisTitle), eksen başlığı metnini Text ve Show özellikleri aracılığıyla ayarlar.


Lejant, Başlık ve Veri Tablosu

Chart.Title (ChartTitle), grafiğin genel başlığını — Text, Show ve Font — ayarlar. Chart.Legend (ChartLegend), lejantın nerede ve ne zaman görüneceğini Position aracılığıyla kontrol eder (örneğin Bottom, Right veya Top gibi bir LegendPosition değeri) ve bireysel LegendEntries öğelerini ortaya çıkarır. Chart.DataTable (ChartDataTable), temel serilerin değerlerini çizim alanının altında bir tablo olarak gösterebilir; Show, HasLegendKeys ve kenar çerçeve geçişleriyle.


Grafik Öğelerini Biçimlendirme

Çoğu grafik öğesi — seriler, veri noktaları, eksenler, başlık ve lejant — ChartFormat türünde bir Format özelliği sunar; bu da ilgili öğenin renkleri için Fill ve Stroke sağlar, ayrıca veri noktası işaretleyici şekilleri için bir ShapeType (ChartShapeType) içerir. ChartFormat.SetDefaultFill(), bir öğeyi tema temelli varsayılan görünümüne geri döndürür.


İpuçları ve En İyi Uygulamalar

  • Gerçek veri eklemeden önce her zaman yer tutucu seriyi (chart.Series.Clear()) temizleyin veya değiştirin — yeni eklenen bir grafik zaten örnek veriyle gelir.
  • ChartSeriesCollection.Add aşırı yüklemelerini, veri şeklinize (kategoriler, X/Y çiftleri, tarihler veya balon boyutları) uyan şekilde kullanın; her şeyi kategori/değer çiftleriyle zorlamak yerine.
  • Bir seride HasDataLabels = true ayarlayın, ardından DataLabels koleksiyonunu yapılandırın — etiketler kapalıyken koleksiyonun görüntüleme özellikleri görünür bir etki yapmaz.
  • Chart.ChartSpace okuyun veya belirli ChartType‘i kontrol edin; klasik ve Word-2016 tarzı grafikler arasında farklılık gösteren ızgara çizgisi veya eksen davranışına güvenmeden önce.
  • Bir öğenin görünümünü sıfırlamak istediğinizde, her dolgu özelliğini manuel olarak temizlemek yerine ChartFormat.SetDefaultFill()‘i tercih edin.

Yaygın Sorunlar

SorunNedenÇözüm
Yeni grafik beklenmedik demo verileri gösteriyorInsertChart grafiği yer tutucu serilerle doldururKendi serilerinizi eklemeden önce chart.Series.Clear() çağırın
Veri etiketleri görünmüyorHasDataLabels, DataLabels yapılandırılmadan önce seride ayarlanmamıştıAyarla series.HasDataLabels = true, ardından series.DataLabels üzerindeki ShowValue/ShowCategoryName‘yi yapılandır
Kılavuz çizgileri değer ekseninde görünmüyorHasMajorGridlines/HasMinorGridlines, o eksen için false‘ye varsayılan olarak ayarlanırAyarla chart.AxisY.HasMajorGridlines = true (ve gerekirse HasMinorGridlines)
Lejant görünmüyorChart.Legend.Position, LegendPosition.None olarak ayarlandıPosition‘ı Bottom, Right, Top, Left veya TopRight olarak ayarlayın

FAQ

Bir belgeye grafik nasıl eklenir?

DocumentBuilder.InsertChart(chartType, width, height) metodunu çağırın. İçeren Shape değerini döndürür; grafiği yapılandırmak için Chart özelliğini okuyun.

Bir grafiğe veri nasıl eklenir?

Yer tutucu seriyi chart.Series.Clear() ile temizleyin, ardından chart.Series.Add(seriesName, categories, values) metodunu çağırın (veya X/Y, tarih ya da balon veri için diğer Add aşırı yüklemelerinden birini kullanın).

Hangi grafik türleri mevcut?

ChartType, klasik aileleri (Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, ve bunların yığılmış ve 3B varyantlarını) ve Word 2016 grafik türlerini (Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall) içerir.

Lejantın nerede görüneceğini nasıl değiştiririm?

Chart.Legend.Position öğesini LegendPosition bir değere ayarlayın, örneğin LegendPosition.Bottom veya LegendPosition.Right.

Bir veri noktasını serisinin geri kalanından farklı biçimlendirebilir miyim?

Evet — ChartSeries.DataPoints‘a (bir ChartDataPointCollection) indeksleyin ve o ChartDataPoint‘nin Format, Marker veya Explosion‘ini serinin düzeyindeki biçimlendirmeden bağımsız olarak ayarlayın.


API Reference Özeti

Sınıf/YöntemAçıklama
DocumentBuilder.InsertChartİmlecin konumuna bir grafik şekli ekler ve geri döndürür.
ChartGrafik yapılandırma nesnesi, Shape.Chart aracılığıyla erişilir.
ChartTypeKullanılabilir grafik tiplerinin enum’ı (çizgi, çubuk, pasta ve Word-2016 grafik tipleri).
ChartSeriesCollection / ChartSeriesGrafiğin veri serileri ve bunları ekleme, araya ekleme veya kaldırma yöntemleri.
ChartDataPointCollection / ChartDataPointBir seri içindeki nokta başına biçimlendirme.
ChartDataLabelCollection / ChartDataLabelGrafik noktalarında gösterilen değer/kategori etiketleri.
ChartAxis / ChartAxisCollectionEksen yapılandırması — ızgara çizgileri, birimler, kesişim noktası, işaret etiketleri.
ChartLegend / LegendPositionLejant görünürlüğü ve konumu.
ChartTitleGrafiğin genel başlığı.
ChartDataTableGrafik alanının altında gösterilen seriler değerlerinin isteğe bağlı tablosu.
ChartFormatÇoğu grafik öğesi tarafından paylaşılan dolgu, kenar ve şekil biçimlendirmesi.

Ayrıca Bakınız

 Türkçe