Cara Bekerja dengan Charts di .NET

Cara Bekerja dengan Charts di .NET

Panduan ini menunjukkan cara menyisipkan diagram Word asli dan mengendalikan penampilannya dengan Aspose.Words FOSS untuk .NET — menyembunyikan legenda dan sumbu, memperbaiki skala sumbu nilai, kemudian memilih tipe diagram yang berbeda serta memformat label data dan titik individu. Aspose.Words FOSS untuk .NET tersedia melalui NuGet atau dengan membangun dari sumber.

Panduan Langkah-demi-Langkah

Langkah 1: Dapatkan Perpustakaan

Klon repositori dan bangun Aspose.Words.sln dalam konfigurasi Release, lalu tambahkan referensi proyek ke Aspose.Words.csproj dari proyek .NET Anda sendiri, sebagaimana dijelaskan dalam Panduan Instalasi.


Langkah 2: Sisipkan Diagram dan Sederhanakan Penampilannya

DocumentBuilder.InsertChart(chartType, width, height) menyisipkan bentuk diagram pada kursor dan mengembalikan Shape yang berisi; properti Chart-nya adalah objek Chart yang Anda konfigurasikan, dengan AxisX, AxisY, Legend, dan Title sebagai sub-objek utama. Tipe-tipe chart berada di namespace Aspose.Words.Drawing.Charts bersama namespace inti Aspose.Words. Sebuah diagram ChartType.Bar yang minimal dan siap presentasi pada Document baru biasanya berarti mengatur Legend.Position ke LegendPosition.None, mengatur Hidden dan HasMajorGridlines pada AxisY dan AxisX, mengatur Title.Show menjadi false, membersihkan placeholder ChartSeriesCollection dengan Series.Clear() sebelum memanggil Series.Add(seriesName, categories, values), menambatkan AxisY.Scaling.Maximum ke AxisBound tetap alih-alih membiarkannya skala otomatis, kemudian menulis hasilnya dengan Document.Save. Contoh lengkap — Document, DocumentBuilder, Chart, AxisX, AxisY, Legend, Title, ChartSeriesCollection, AxisBound, dan Document.Save — terlihat seperti ini:

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");

Ini membangun sebuah Document, menyisipkan diagram ChartType.Bar, mengatur Chart.Legend.Position menjadi LegendPosition.None untuk menyembunyikan legenda, mengatur Hidden = true dan HasMajorGridlines = false pada chart.AxisY serta Hidden = true pada chart.AxisX, mengatur chart.Title.Show = false, menghapus seri placeholder dengan seriesColl.Clear(), memperbaiki sumbu nilai ke maksimum 100 melalui chart.AxisY.Scaling.Maximum = new AxisBound(100), menambahkan satu seri nyata dengan seriesColl.Add(seriesName, categories, values), dan menulis hasilnya dengan Document.Save.


Langkah 3: Pilih Tipe Diagram yang Berbeda

ChartType mencakup keluarga diagram standar Word — Line, Bar, Column (plus varian Stacked, PercentStacked, dan 3D), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface, dan tipe Word 2016 Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, serta Waterfall. Berikan nilai yang Anda inginkan sebagai argumen chartType ke InsertChart — tidak ada anggota yang mengubah tipe diagram yang ada setelah penyisipan, jadi pilih yang tepat di awal atau ganti bentuknya.


Langkah 4: Tambahkan dan Format Label Data

Atur series.HasDataLabels = true sebelum mengonfigurasi series.DataLabels (sebuah ChartDataLabelCollection) — saklar tampilan tidak berpengaruh saat label dimatikan. ShowValue, ShowCategoryName, dan ShowPercentage mengontrol bagian informasi mana yang muncul, dan Position menempatkannya relatif terhadap titik data.


Langkah 5: Format Titik Data Individu

Indeks ke DataPoints seri (sebuah ChartDataPointCollection) untuk mencapai satu ChartDataPoint dan atur Format, Marker, Explosion, atau InvertIfNegative secara independen dari sisa seri. Inilah cara menyorot satu batang, irisan, atau penanda tanpa mengubah gaya seluruh seri.

Masalah Umum dan Solusi

Chart baru menampilkan data demo yang tidak terduga. InsertChart Menyemai chart dengan seri placeholder. Panggil chart.Series.Clear() sebelum menambahkan seri Anda sendiri.

Hiding AxisY tidak menghapus garis kisi. Hidden menyembunyikan garis sumbu dan label; garis kisi adalah sakelar terpisah. Atur HasMajorGridlines = false (dan HasMinorGridlines = false jika garis kisi minor juga terlihat).

Label data tidak muncul setelah mengatur ShowValue = true. HasDataLabels belum diatur pada seri terlebih dahulu. Atur series.HasDataLabels = true, lalu konfigurasikan series.DataLabels.

Scaling.Maximum tampaknya tidak berlaku. Pastikan Anda mengaturnya pada objek sumbu yang tepat (chart.AxisY untuk sumbu nilai pada kebanyakan tipe grafik) dan bahwa tidak ada jalur kode sebelumnya yang mengatur ulang Scaling kembali ke defaultnya AxisBound().

Pertanyaan yang Sering Diajukan

Bagaimana cara menyembunyikan legenda grafik?

Atur chart.Legend.Position = LegendPosition.None.

Bagaimana cara mengunci sumbu ke rentang tertentu alih-alih penskalaan otomatis?

Atur AxisScaling.Minimum dan/atau AxisScaling.Maximum (kedua nilai AxisBound) pada chart.AxisX.Scaling atau chart.AxisY.Scaling.

Bagaimana cara menyembunyikan judul diagram tanpa menghapusnya?

Atur chart.Title.Show = false. Objek ChartTitle dan Textnya tetap; hanya caption yang terlihat yang disembunyikan.

Tipe diagram apa yang tersedia?

ChartType mencantumkan keluarga klasik (Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, plus varian bertumpuk dan 3D) bersama tipe Word 2016 (Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall).

Bisakah saya memformat satu titik data secara berbeda dari sisanya dalam seri tersebut?

Ya — indeks ke dalam ChartSeries.DataPoints dan atur ChartDataPoint’s Format, Marker, atau Explosion secara independen.

Lihat Juga

 Bahasa Indonesia