Lucrul cu diagrame

Noua metodă insert_chart a fost adăugată în clasa DocumentBuilder. Deci, să vedem cum să inserați o diagramă coloană simplă în document folosind metoda DocumentBuilder.insert_chart:

Cum se introduce o diagramă

Î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:

create-column-chart-aspose-words-net

Există metode add, add_double și add_date, care au fost expuse pentru a acoperi toate variantele posibile ale surselor de date pentru toate tipurile de diagrame:

Codul produce următorul rezultat:

create-column-chart-from-datasource-aspose-words-net

Inserați Diagrama Scatter

Exemplul de mai jos arată cum să inserați o diagramă scatter.

Codul produce următorul rezultat:

scatter-chart-aspose-words-net

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-net

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-net

Lucrul cu diagrame prin formă.obiect grafic

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 Chart comportamentul titlului sau legendei:

Codul generează următoarele rezultate:

line-chart-aspose-words-net

Cum se lucrează cu ChartSeriesCollection de diagramă

Să analizăm colecția ChartSeries. Toate seriile de diagrame sunt disponibile prin colecția Chart.series:

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.series.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-chartseries-aspose-words-net

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

Vă rugăm să consultați rezultatul de mai jos:

line-chart-chartdatapoint-aspose-words-net

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-datapoint-aspose-words-net

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-net

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 seria de diagrame. Aceste proprietăți includ show_category_name, show_bubble_size, show_percentage, show_series_name, show_value etc.

Vă rugăm să consultați rezultatul de mai jos:

pie-chart-aspose-words-net

Cum se formatează Numărul de etichete de date grafice

Folosind ChartDataLabel.number_format puteți specifica formatarea numerică a 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ă valoarea datei de timp a 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 ChartAxis.tick_label_alignment.

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 din clasele ChartSeries, ChartDataPoint și ChartMarker, precum și aliasuri pentru unele proprietăți, cum ar fi fore_color, back_color, visible, și transparency în clasa Stroke.

Următorul exemplu de cod arată cum să setați culoarea seriei:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252)

chart = shape.chart
seriesColl = chart.series

# Delete default generated series.
seriesColl.clear()

# Create category names array.
categories = [ "AW Category 1", "AW Category 2" ]

# Adding new series. Value and category arrays must be the same size.
series1 = seriesColl.add("AW Series 1", categories, [ 1, 2 ])
series2 = seriesColl.add("AW Series 2", categories, [ 3, 4 ])
series3 = seriesColl.add("AW Series 3", categories, [ 5, 6 ])

# Set series color.
series1.format.fill.fore_color = drawing.Color.red
series2.format.fill.fore_color = drawing.Color.yellow
series3.format.fill.fore_color = drawing.Color.blue

doc.save(docs_base.artifacts_dir + "WorkingWithCharts.set_series_color.docx")

Următorul exemplu de cod arată cum să setați culoarea și greutatea liniei:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252)

chart = shape.chart
seriesColl = chart.series

# Delete default generated series.
seriesColl.clear()

# Adding new series.
series1 = seriesColl.add_double("AW Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ])
series2 = seriesColl.add_double("AW Series 2", [ 0.5, 1.5, 2.5 ], [ 3, 1, 2 ])

# Set series color.
series1.format.stroke.fore_color = drawing.Color.red
series1.format.stroke.weight = 5
series2.format.stroke.fore_color = drawing.Color.light_green
series2.format.stroke.weight = 5

doc.save(docs_base.artifacts_dir + "WorkingWithCharts.line_color_and_weight.docx")