Bekerja dengan Diagram

Bekerja dengan Diagram

Bekerja dengan Diagram

Aspose.Words FOSS untuk .NET dapat menyisipkan diagram Word asli — diagram DrawingML yang sama yang dibuat oleh Word sendiri — sebagai bentuk pada lapisan gambar. DocumentBuilder.InsertChart membuat bentuk tersebut dan mengembalikannya; properti Chart dari bentuk tersebut menampilkan seri, sumbu, legenda, dan pemformatan. Panduan ini mencakup pembuatan diagram, memilih tipe diagram, bekerja dengan seri dan titik data, sumbu dan garis kisi, serta memformat elemen diagram.


Membuat Diagram

Panggil DocumentBuilder.InsertChart(chartType, width, height) untuk menyisipkan bentuk diagram pada kursor dan mendapatkan kembali Shape yang menampungnya. Properti Chart-nya adalah objek Chart yang Anda konfigurasikan. Diagram yang baru disisipkan dilengkapi dengan seri demo placeholder, jadi bersihkan Chart.Series sebelum menambahkan data nyata dengan ChartSeriesCollection.Add(seriesName, categories, values):

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

Contoh ini membangun sebuah Document, menggunakan DocumentBuilder.InsertChart(ChartType.Line, 432, 252) untuk menyisipkan bentuk diagram garis, membaca shape.Chart untuk mendapatkan objek Chart, memanggil chart.Series.Clear() untuk menghapus seri placeholder, menambahkan satu seri nyata dengan chart.Series.Add(seriesName, categories, values), dan menulis hasilnya dengan Document.Save.


Tipe Diagram

ChartType mencakup keluarga diagram standar Word — Line, Bar, Column (beserta varian Stacked, PercentStacked, dan 3D), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface, dan tipe diagram Word 2016 yang lebih baru Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, serta Waterfall. Berikan nilai yang diinginkan sebagai argumen chartType ke InsertChart; tidak ada cara untuk mengubah tipe diagram yang sudah ada setelah penyisipan kecuali dengan mengganti bentuknya.


Seri dan Titik Data

Chart.Series adalah ChartSeriesCollection dari objek ChartSeries. Selain overload Add(seriesName, categories, values) yang digunakan di atas, ChartSeriesCollection juga memiliki overload untuk pasangan nilai X/Y, tanggal, dan ukuran gelembung, serta Insert, Remove(index), dan Clear(). Setiap ChartSeries mengekspos DataPoints (sebuah ChartDataPointCollection) untuk format per-titik — Format, Marker, Explosion, dan InvertIfNegative — dan HasDataLabels / DataLabels untuk mengaktifkan dan mengonfigurasi ChartDataLabelCollection (ShowValue, ShowCategoryName, ShowPercentage, Position).


Sumbu dan Garis Kisi

Chart.AxisX, AxisY, dan AxisZ adalah objek ChartAxis (dengan Chart.Axes sebagai ChartAxisCollection untuk mengiterasi semua). Setiap sumbu memiliki HasMajorGridlines / HasMinorGridlines, MajorUnit / MinorUnit (dengan flag *IsAuto yang cocok), Crosses / CrossesAt, CategoryType, dan sebuah objek TickLabels (AxisTickLabels) untuk font label dan orientasi. ChartAxis.Title (ChartAxisTitle) mengatur teks caption sumbu melalui properti Text dan Show.


Legenda, Judul, dan Tabel Data

Chart.Title (ChartTitle) menetapkan caption keseluruhan grafik — Text, Show, dan Font. Chart.Legend (ChartLegend) mengontrol apakah dan di mana legenda muncul melalui Position (nilai LegendPosition seperti Bottom, Right, atau Top) dan mengekspos LegendEntries secara individual. Chart.DataTable (ChartDataTable) dapat menampilkan nilai seri dasar sebagai tabel di bawah area plot, dengan Show, HasLegendKeys, dan saklar border.


Memformat Elemen Grafik

Sebagian besar elemen grafik — seri, titik data, sumbu, judul, dan legenda — mengekspos properti Format dengan tipe ChartFormat, yang pada gilirannya mengekspos Fill dan Stroke untuk warna elemen tersebut, serta ShapeType (ChartShapeType) untuk bentuk penanda titik data. ChartFormat.SetDefaultFill() mengembalikan elemen ke tampilan default yang diatur oleh tema.


Tips dan Praktik Terbaik

  • Selalu bersihkan atau ganti seri placeholder (chart.Series.Clear()) sebelum menambahkan data nyata — diagram yang baru disisipkan sudah dilengkapi dengan data contoh.
  • Gunakan overload ChartSeriesCollection.Add yang cocok dengan bentuk data Anda (kategori, pasangan X/Y, tanggal, atau ukuran gelembung) alih-alih memaksa semuanya melalui pasangan kategori/nilai.
  • Atur HasDataLabels = true pada sebuah seri sebelum mengonfigurasi koleksi DataLabels-nya — properti tampilan koleksi tidak berpengaruh terlihat saat label dimatikan.
  • Baca Chart.ChartSpace atau periksa ChartType spesifik sebelum mengandalkan perilaku garis kisi atau sumbu yang berbeda antara diagram klasik dan bergaya Word-2016.
  • Lebih pilih ChartFormat.SetDefaultFill() daripada membersihkan secara manual setiap properti isi ketika Anda ingin mengatur ulang tampilan elemen.

Masalah Umum

MasalahPenyebabPerbaikan
Bagan baru menampilkan data demo yang tidak diharapkanInsertChart mengisi bagan dengan seri placeholderPanggil chart.Series.Clear() sebelum menambahkan seri Anda sendiri
Label data tidak munculHasDataLabels tidak diatur pada seri sebelum mengonfigurasi DataLabelsAtur series.HasDataLabels = true, lalu konfigurasikan ShowValue/ShowCategoryName pada series.DataLabels
Garis kisi tidak muncul pada sumbu nilaiHasMajorGridlines/HasMinorGridlines secara default ke false untuk sumbu tersebutSetel chart.AxisY.HasMajorGridlines = true (dan HasMinorGridlines jika diperlukan)
Legenda tidak munculChart.Legend.Position diatur ke LegendPosition.NoneAtur Position ke Bottom, Right, Top, Left, atau TopRight

FAQ

Bagaimana cara menyisipkan chart ke dalam dokumen?

Panggil DocumentBuilder.InsertChart(chartType, width, height). Itu mengembalikan Shape yang berisi; baca properti Chartnya untuk mengonfigurasi chart.

Bagaimana cara menambahkan data ke chart?

Bersihkan seri placeholder dengan chart.Series.Clear(), lalu panggil chart.Series.Add(seriesName, categories, values) (atau salah satu overload Add lainnya untuk data X/Y, tanggal, atau gelembung).

Tipe chart apa yang tersedia?

ChartType mencakup keluarga klasik (Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, serta varian stacked dan 3D mereka) dan tipe chart Word 2016 (Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall).

Bagaimana cara mengubah posisi legenda?

Setel Chart.Legend.Position ke nilai LegendPosition, seperti LegendPosition.Bottom atau LegendPosition.Right.

Apakah saya dapat memformat satu titik data secara berbeda dari sisanya dalam serinya?

Ya — indeks ke ChartSeries.DataPoints (sebuah ChartDataPointCollection) dan atur Format, Marker, atau Explosion milik ChartDataPoint secara independen dari pemformatan tingkat seri.


API Reference Ringkasan

Kelas/MetodeDeskripsi
DocumentBuilder.InsertChartMenyisipkan bentuk diagram pada kursor dan mengembalikannya.
ChartObjek konfigurasi diagram, yang diakses melalui Shape.Chart.
ChartTypeEnum tipe chart yang tersedia (line, bar, pie, dan tipe chart Word-2016).
ChartSeriesCollection / ChartSeriesSeri data chart dan metode untuk menambah, menyisipkan, atau menghapusnya.
ChartDataPointCollection / ChartDataPointPemformatan per-titik dalam sebuah seri.
ChartDataLabelCollection / ChartDataLabelLabel nilai/kategori yang ditampilkan pada titik-titik chart.
ChartAxis / ChartAxisCollectionKonfigurasi sumbu — garis kisi, satuan, titik pertemuan, label tanda.
ChartLegend / LegendPositionVisibilitas dan penempatan legenda.
ChartTitleKeterangan keseluruhan diagram.
ChartDataTableTabel opsional nilai seri yang ditampilkan di bawah area plot.
ChartFormatPengisian, garis, dan pemformatan bentuk yang dibagikan oleh sebagian besar elemen bagan.

Lihat Juga

 Bahasa Indonesia