Lucrul cu diagrame
Noua metodă insertChart a fost adăugată în clasa DocumentBuilder. Deci, să vedem cum să inserați o diagramă coloană simplă în document folosind metoda insertChart.
Cum se introduce o diagramă de la zero folosind Aspose.Words
În această secțiune vom învăța cum să inserați o diagramă într-un document.
Inserare Diagramă Coloană
Următorul exemplu de cod arată cum să inserați graficul de coloane:
Codul produce următorul rezultat:
Există patru supraîncărcări diferite pentru metoda de adăugare a seriei, care au fost expuse pentru a acoperi toate variantele posibile ale surselor de date pentru toate tipurile de diagrame:
Codul produce următorul rezultat:
Inserați Diagrama Scatter
Următorul exemplu de cod arată cum să inserați o diagramă scatter:
Codul produce următorul rezultat:
Introduceți Diagrama Zonei
Următorul exemplu de cod arată cum să inserați o diagramă de zonă:
Codul produce următorul rezultat:
Introduceți Diagrama Cu Bule
Următorul exemplu de cod arată cum să inserați o diagramă cu bule:
Codul produce următorul rezultat:
Lucrul cu diagrame prin Shape.Chart
obiect
Odată ce graficul a fost introdus și completat cu date, îi puteți schimba aspectul. Shape.Chart proprietatea conține toate opțiunile legate de diagramă disponibile prin public API.
De exemplu, să schimbăm titlul diagramei sau comportamentul legendei:
Codul generează următoarele rezultate:
Cum se lucrează cu ChartSeriesCollection de diagramă
Să analizăm colecția ChartSeries. Toate seriile de diagrame sunt disponibile prin colecția chart.getSeries(), care este Iterable:
Puteți elimina seria una câte una sau le puteți șterge pe toate, precum și puteți adăuga una nouă, dacă este necesar. Graficul nou introdus are câteva serii implicite adăugate la această colecție. Pentru a le elimina, trebuie să apelați metoda chart.getSeries().clear().
Lucrul cu o singură clasă ChartSeries
Iată cum să lucrați cu o anumită serie.
Vă rugăm să consultați rezultatul de mai jos:
Toate singur ChartSeries au implicit ChartDataPoint opțiuni, vă rugăm să încercați să utilizați următorul cod pentru a le schimba:
Cum se lucrează cu un singur ChartDataPoint dintr-un ChartSeries
Folosind ChartDataPoint puteți personaliza formatarea unui singur punct de date din seria de diagrame:
Vă rugăm să consultați rezultatul de mai jos:
Cum se lucrează cu ChartDataLabel dintr-un singur ChartSeries
Folosind ChartDataLabel puteți specifica formatarea unei singure etichete de date a seriei de diagrame, cum ar fi Afișare / Ascundere LegendKey, CategoryName, SeriesName, valoare etc:
Vă rugăm să consultați rezultatul de mai jos:
Cum se definesc opțiunile implicite pentru ChartDataLabels Din ChartSeries
Clasa ChartDataLabelCollection definește proprietățile care pot fi utilizate pentru a seta opțiunile implicite pentru ChartDataLabels Pentru graficul Series. Aceste proprietăți includ setShowCategoryName, setShowBubbleSize, setShowPercentage, setShowSeriesName, setShowValue etc:
Vă rugăm să consultați rezultatul de mai jos:
Cum se formatează Numărul de etichete de date grafice
Folosind proprietatea NumberFormat, puteți specifica formatarea numărului unei singure etichete de date a graficului.
Următorul exemplu de cod arată cum să formatați un număr de etichete de date:
Cum să setați proprietățile axei diagramei
Dacă doriți să lucrați cu axa diagramei, scalarea și unitățile de afișare pentru axa valorii, vă rugăm să utilizați clasele ChartAxis, AxisDisplayUnit și AxisScaling.
Următorul exemplu de cod arată cum se definesc proprietățile axei X și Y:
Cum se setează DateTime valoarea axei
Următorul exemplu de cod arată cum să setați valorile datei/orei la proprietățile axei:
Cum se formatează valoarea numerică a axei
Următorul exemplu de cod arată cum să modificați formatul numerelor pe axa valorii:
Cum să setați limitele axei
Clasa AxisBound
reprezintă o limită minimă sau maximă a valorilor axei. Bound poate fi specificat ca o valoare numerică, dată-oră sau o valoare specială “auto”.
Următorul exemplu de cod arată cum să setați limitele unei axe:
Cum să setați unitatea de Interval între etichete
Următorul exemplu de cod arată cum să setați unitatea de interval între etichete pe o axă:
Cum să ascundeți Axa diagramei
Dacă doriți să afișați sau să ascundeți axa diagramei, puteți realiza acest lucru pur și simplu setând valoarea proprietății ChartAxis.Hidden
.
Următorul exemplu de cod arată cum să ascundeți axa Y a diagramei:
Cum să aliniați eticheta diagramei
Dacă doriți să setați o aliniere a textului pentru etichete cu mai multe linii, puteți realiza acest lucru pur și simplu setând valoarea proprietății setTickLabelAlignment().
Următorul exemplu de cod arată cum să bifați alinierea etichetelor:
Cum se setează formatarea umplerii și a cursei
Formatarea umplerii și a cursei poate fi setată pentru serii de diagrame, puncte de date și markeri. Pentru a face acest lucru, trebuie să utilizați proprietățile tipului ChartFormat
în clasele ChartSeries, ChartDataPoint și ChartMarker, precum și aliasuri pentru unele proprietăți, cum ar fi ForeColor, BackColor, vizibil și transparență în clasa Stroke
.
Următorul exemplu de cod arată cum să setați culoarea seriei:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };
// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });
// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;
doc.Save("ColumnColor.docx");
Următorul exemplu de cod arată cum să setați culoarea și greutatea liniei:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 }, new double[] { 3, 1, 2 });
// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;
doc.Save("LineColorAndWeight.docx");