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:
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:
Inserați Diagrama Scatter
Exemplul de mai jos 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 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:
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:
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:
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 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:
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")