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:

column-chart-aspose-words-java-1

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:

column-chart-aspose-words-java-2

Inserați Diagrama Scatter

Următorul exemplu de cod arată cum să inserați o diagramă scatter:

Codul produce următorul rezultat:

scutter-chart-aspose-words-java

Introduceți Diagrama Zonei

Următorul exemplu de cod arată cum să inserați o diagramă de zonă:

Codul produce următorul rezultat:

area-chart-aspose-words-java

Introduceți Diagrama Cu Bule

Următorul exemplu de cod arată cum să inserați o diagramă cu bule:

Codul produce următorul rezultat:

bubble-chart-aspose-words-java

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:

line-chart-aspose-words-java-1

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:

line-chart-aspose-words-java-2

Toate singur ChartSeries au implicit ChartDataPoint opțiuni, vă rugăm să încercați să utilizați următorul cod pentru a le schimba:

line-chart-aspose-words-java3

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:

line-chart-aspose-words-java-4

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:

bar-chart-aspose-words-java

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:

pie-chart-aspose-words-java

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