Charts ile .NET'de Nasıl Çalışılır
Bu kılavuz, yerel bir Word grafiği eklemeyi ve Aspose.Words FOSS for .NET ile görünümünü kontrol etmeyi gösterir — efsaneyi ve eksenleri gizleme, değer ekseni ölçeğini sabitleme, ardından farklı bir grafik türü seçme ve veri etiketlerini ve tek tek noktaları biçimlendirme. Aspose.Words FOSS for .NET, NuGet aracılığıyla veya kaynaktan derlenerek temin edilebilir.
Adım Adım Kılavuz
Adım 1: Kütüphaneyi Edinin
Depoyu klonlayın ve derleyin Aspose.Words.sln Release yapılandırmasında, ardından bir proje referansı ekleyin Aspose.Words.csproj kendi .NET projenizden, açıklandığı gibi Kurulum kılavuzu.
Adım 2: Bir Grafik Ekleyin ve Görünümünü Basitleştirin
DocumentBuilder.InsertChart(chartType, width, height), imleç konumunda bir grafik şekli ekler ve içeren Shape‘i döndürür; onun Chart özelliği, yapılandırdığınız Chart nesnesidir ve AxisX, AxisY, Legend ve Title ana alt nesneleri olarak bulunur. Grafik türleri, temel Aspose.Words ad alanının yanında Aspose.Words.Drawing.Charts ad alanında yer alır. Yeni bir Document üzerindeki minimal, sunuma hazır ChartType.Bar grafiği genellikle Legend.Position‘yi LegendPosition.None olarak ayarlamayı, Hidden ve HasMajorGridlines‘i AxisY ve AxisX üzerinde ayarlamayı, Title.Show‘i false olarak ayarlamayı, Series.Add(seriesName, categories, values)‘i çağırmadan önce Series.Clear() ile ChartSeriesCollection yer tutucusunu temizlemeyi, AxisY.Scaling.Maximum‘yi otomatik ölçeklendirmeye izin vermek yerine sabit bir AxisBound‘e sabitlemeyi ve ardından sonucu Document.Save ile yazmayı gerektirir. Tam örnek — Document, DocumentBuilder, Chart, AxisX, AxisY, Legend, Title, ChartSeriesCollection, AxisBound ve Document.Save — şu şekildedir:
using Aspose.Words;
using Aspose.Words.Drawing.Charts;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Bar, 432, 252);
Chart chart = shape.Chart;
chart.Legend.Position = LegendPosition.None;
ChartSeriesCollection seriesColl = chart.Series;
chart.AxisY.Hidden = true;
chart.AxisY.HasMajorGridlines = false;
chart.AxisX.Hidden = true;
chart.Title.Show = false;
seriesColl.Clear();
chart.AxisY.Scaling.Maximum = new AxisBound(100);
string[] categories = new string[] { "AW Category 1" };
seriesColl.Add("AW Series 1", categories, new double[] { 30 });
doc.Save("chart.docx");Bu, bir Document oluşturur, bir ChartType.Bar grafik ekler, Chart.Legend.Position‘yi LegendPosition.None olarak ayarlar ve başlığı gizler, Hidden = true ve HasMajorGridlines = false‘i chart.AxisY üzerinde ve Hidden = true‘i chart.AxisX üzerinde ayarlar, chart.Title.Show = false‘u ayarlar, seriesColl.Clear() ile yer tutucu serisini temizler, chart.AxisY.Scaling.Maximum = new AxisBound(100) aracılığıyla 100 maksimumuna değer eksenini sabitler, seriesColl.Add(seriesName, categories, values) ile bir gerçek seri ekler ve sonucu Document.Save ile yazar.
Adım 3: Farklı Bir Grafik Türü Seçin
ChartType, standart Word grafik ailelerini kapsar — Line, Bar, Column (artı Stacked, PercentStacked ve 3D varyantları), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface ve Word 2016 tipleri Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker ve Waterfall. İstediğiniz değeri chartType argümanı olarak InsertChart‘e geçirin — eklemeden sonra mevcut bir grafiğin tipini değiştiren bir üye yoktur, bu yüzden doğru olanı baştan seçin ya da şekli değiştirin.
Adım 4: Veri Etiketlerini Ekle ve Biçimlendir
series.HasDataLabels = true‘ı series.DataLabels (bir ChartDataLabelCollection) yapılandırmadan önce ayarlayın — etiketler kapalıyken görüntü geçişleri görünür bir etki yapmaz. ShowValue, ShowCategoryName ve ShowPercentage hangi bilgi parçalarının görüneceğini kontrol eder, Position ise onları veri noktasına göre konumlandırır.
Adım 5: Tek Bir Veri Noktasını Biçimlendir
Bir serinin DataPoints‘ına (bir ChartDataPointCollection) indeksleyerek tek bir ChartDataPoint‘e ulaşın ve onun Format, Marker, Explosion veya InvertIfNegative‘sını serinin geri kalanından bağımsız olarak ayarlayın. Bu, tüm seriyi yeniden biçimlendirmeden tek bir çubuğu, dilimi veya işaretleyiciyi vurgulamanın yoludur.
Yaygın Sorunlar ve Çözümler
Yeni grafik beklenmedik demo verileri gösteriyor. InsertChart Grafiği yer tutucu serilerle doldurur. Çağırın chart.Series.Clear() kendi serilerinizi eklemeden önce.
Hiding AxisY Izgara çizgilerini kaldırmaz. Hidden eksen çizgisini ve etiketleri gizler; ızgaralar ayrı bir geçiştir. Ayarla HasMajorGridlines = false (ve HasMinorGridlines = false eğer küçük ızgaralar da görünürse).
Veri etiketleri ayarladıktan sonra görünmüyor ShowValue = true. HasDataLabels seri üzerinde önce ayarlanmamıştı. Ayarla series.HasDataLabels = true, ardından yapılandır series.DataLabels.
Scaling.Maximum uygulanmıyor gibi görünüyor. Doğru eksen nesnesine ayarladığınızdan emin olun (chart.AxisY çoğu grafik türünde değer ekseni için) ve daha önceki bir kod yolunun sıfırlamaması Scaling varsayılanına geri AxisBound().
Sıkça Sorulan Sorular
Bir grafiğin lejandını nasıl gizlerim?
chart.Legend.Position = LegendPosition.None‘yi ayarlayın.
Bir ekseni otomatik ölçeklendirme yerine belirli bir aralığa nasıl sabitleyebilirim?
AxisScaling.Minimum ve/veya AxisScaling.Maximum (her ikisi de AxisBound değerleri) chart.AxisX.Scaling veya chart.AxisY.Scaling üzerine ayarlayın.
Grafik başlığını silmeden nasıl gizleyebilirim?
chart.Title.Show = false‘ı ayarlayın. ChartTitle nesnesi ve onun Text‘si kalır; yalnızca görünen başlık bastırılır.
Hangi grafik türleri mevcuttur?
ChartType, klasik aileleri (Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, artı yığılmış ve 3B varyantlar) Word 2016 türleri (Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall) ile birlikte listeler.
Bir veri noktasını serisinin geri kalanından farklı biçimlendirebilir miyim?
Evet — ChartSeries.DataPoints içinde indeksleyin ve o ChartDataPoint‘ın Format, Marker veya Explosion‘ünü bağımsız olarak ayarlayın.