Lucrând cu diagrame
Un nou InsertChart metodă a fost adăugată la clasa DocumentBuilder. Deci, haideți să vedem cum se inserează un simplu grafic coloană în document folosind metoda InsertChart.
Cum să inserați un grafic
În această secțiune vom învăța cum să introducem un grafic într-un document.
Inserare Diagramă coloană
Exemplul următor de cod arată cum să inserați un grafic cu coloane:
Codul produce următorul rezultat:
Există patru suprascrieri diferite pentru metoda “Add”, care a fost expusă pentru a acoperi toate variantele posibile de surse de date pentru toate tipurile de diagrame:
Codul produce următorul rezultat:
Introduceți un grafic dispersat
Exemplul următor arată cum să inserați un grafic cu puncte dispersate:
Codul produce următorul rezultat:
Insert Area Chart
Exemplul următor de cod arată cum să inserați un grafic de zone:
Codul produce următorul rezultat:
Introduceți un grafic cu bule
Exemplul de cod următor arată cum să inserați un grafic cu bule:
Codul produce următorul rezultat:
Lucrul cu diagrame prin Shape.Chart
Obiectul
Odată ce graficul a fost inserat și umplut cu date, ai capacitatea să-i schimbi aspectul. Proprietatea Shape.Chart
conține toate opțiunile legate de grafice disponibile prin intermediul API.
De exemplu să schimbăm titlul sau comportamentul legendei de pe grafic:
Codul generează următoarele rezultate:
Cum să lucrezi cu ChartSeriesCollection de la Chart
Să aruncăm o privire la ChartSeries colecție. Toate serii de diagrame sunt disponibile prin chart.Series colecție, care este IEnumerable:"
Puteți elimina seriile unul câte unul sau puteți șterge toate ca să adăugați un nou dacă este necesar. “Graficul inserat recent are unele serii implicite adăugate la această colecție.” Pentru a le îndepărta trebuie să apelezi metoda chart.Series.Clear().
Lucrând cu clasa Single ChartSeries
Iată cum se lucrează cu o serie anume:
Vă rugăm să vedeți rezultatul de mai jos
Toate variabilele singulare ChartSeries au opțiuni implicite ChartDataPoint, vă rugăm să încercați să utilizați codul următor pentru a le schimba:
Vă rugăm să priviți rezultatul de mai jos:
Cum să lucrezi cu Single ChartDataPoint al unui ChartSeries
Utilizând ChartDataPoint, veți putea particulariza formatarea unui singur punct de date al seriei de diagrame:
Vă rugăm să vedeți rezultatul de mai jos:
Cum să lucrezi cu ChartDataLabel al unui singur ChartSeries
Utilizând ChartDataLabel puteți specifica formatarea unei singure etichete de date din seria de diagrame, cum ar fi afișarea/ascunderea LegendKey, CategoryName, SeriesName, Value etc.:
Vă rugăm să vedeți rezultatul mai jos:
Cum să definești opțiunile implicite pentru ChartDataLabels de la ChartSeries
Clasa ChartDataLabelCollection definește proprietăți care pot fi utilizate pentru a seta opțiunile implicite pentru ChartDataLabels pentru graficul Series. Aceste proprietăți includ ShowCategoryName, ShowBubbleSize, ShowPercentage, ShowSeriesName, ShowValue etc.:
Vă rugăm să vedeți rezultatul mai jos:
Cum să formatăm numărul etichetelor de date ale diagramei
Utilizând NumberFormat puteți specifica formatarea numărului pentru un singur etichetă de date din grafic.
Exemplul de cod următor arată cum să formateze un număr din eticheta datelor:
Cum să setați proprietățile axelor diagramei
Dacă doriți să lucrați cu axele de grafic, scalarea și unitățile de afișare pentru axa de valoare, vă rugăm să utilizați ChartAxis, AxisDisplayUnit, și AxisScaling clase.
Exemplul următor de cod arată cum să se definească proprietățile axelor X și Y:
Cum să setați Date valoarea timpului de pe axă
Exemplul de cod următor arată cum să setaţi valori de dată/oră pentru proprietăţile axei:
Cum să formatezi valoarea numărului axei
Exemplul următor de cod arată cum se schimbă formatul numerelor pe axa valorii:
Cum să setăm limite pentru axă
“Clasa AxisBound
reprezintă o limită minimă sau maximă a valorilor axelor.” Bound poate fi specificat ca o valoare numerică, dată și oră sau un “auto” valorii speciale.
Exemplul următor de cod arată cum să se stabilească limitele unei axe:
Cum să setăm Unitatea Intervalului între Etichete
Exemplul de cod de mai jos arată cum se stabilește unitatea intervalului între etichete pe o axă:
Cum se ascunde axa graficului
Dacă vrei să afișezi sau să ascunzi axa diagramei, poți obține acest lucru prin setarea valorii proprietății ChartAxis.Hidden
.
Exemplul de cod următor arată cum să ascundem axa Y a diagramei:
Cum să aliniați eticheta graficului
Dacă doriți să stabiliți un aliniere de text pentru etichete multi-linie, puteți obține acest lucru prin setarea valorii proprietății TickLabels.Aliniere.
Exemplul de cod următor arată cum să se alinieze eticheta de bucle:
Cum să setezi formatarea umplelor și a contururilor
Formatarea umpluturii și a conturului poate fi setată pentru seria de grafice, punctele de date și marcatori. Pentru a face asta, trebuie să folosești proprietățile de tip ChartFormat în clasele ChartSeries, ChartDataPoint și ChartMarker, precum și aliasuri pentru unele proprietăți, cum ar fi ForeColor, BackColor, Visible și Transparență în clasa Stroke
.
Exemplul următor de cod arată cum să setezi 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(dir + "ColumnColor.docx");
Exemplul următor de cod arată cum să se seteze 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(dir + "LineColorAndWeight.docx");