Diagramok kezelése

Diagramok kezelése

Diagramok használata

Aspose.Words FOSS for .NET képes beilleszteni natív Word-diagramokat — ugyanazokat a DrawingML diagramokat, amelyeket a Word maga hoz létre — alakzatként a rajzrétegben. DocumentBuilder.InsertChart létrehozza az alakzatot és visszaadja; az alakzat Chart tulajdonsága elérhetővé teszi a sorozatokat, tengelyeket, jelmagyarázatot és a formázást. Ez az útmutató a diagram létrehozását, diagramtípus kiválasztását, sorozatokkal és adatpontokkal való munkát, tengelyeket és rácsvonalakat, valamint a diagramelemek formázását tárgyalja.


Diagram létrehozása

Hívja meg a DocumentBuilder.InsertChart(chartType, width, height) függvényt, hogy a kurzornál egy diagram alakzatot szúrjon be, és visszakapja a tartalmazó Shape objektumot. Ennek Chart tulajdonsága a Chart objektum, amelyet konfigurálni kell. Egy frissen beszúrt diagram helyettesítő bemutató sorozatokkal érkezik, ezért törölje a Chart.Series értékét, mielőtt valódi adatokat adna hozzá a ChartSeriesCollection.Add(seriesName, categories, values) segítségével:

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");

Ez a példa egy Document objektumot hoz létre, a DocumentBuilder.InsertChart(ChartType.Line, 432, 252) segítségével egy vonaldiagram alakzatot szúr be, a shape.Chart olvasásával megszerzi a Chart objektumot, meghívja a chart.Series.Clear() függvényt a helyettesítő sorozat eltávolításához, egy valódi sorozatot ad hozzá a chart.Series.Add(seriesName, categories, values) használatával, és a Document.Save segítségével írja ki az eredményt.


Diagramtípusok

ChartType lefedi a szabványos Word diagramcsaládokat — Line, Bar, Column (és azok Stacked, PercentStacked, valamint 3D változatai), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface, valamint az újabb Word 2016 diagramtípusok Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker és Waterfall. Adja meg a kívánt értéket a chartType argumentummal a InsertChart hívásakor; nincs mód egy már létező diagram típusának módosítására a beszúrás után, kivéve ha az alakzatot lecseréli.


Sorozatok és adatpontok

Chart.Series egy ChartSeriesCollection ChartSeries objektum. A fent használt Add(seriesName, categories, values) túlterhelésen túl, a ChartSeriesCollection további túlterhelésekkel rendelkezik X/Y értékpárokra, dátumokra és buborékméretekre, valamint Insert, Remove(index) és Clear(). Minden ChartSeries DataPoints-t (egy ChartDataPointCollection) tesz elérhetővé pontonkénti formázáshoz — Format, Marker, Explosion és InvertIfNegative — és HasDataLabels / DataLabels-t a ChartDataLabelCollection bekapcsolásához és konfigurálásához (ShowValue, ShowCategoryName, ShowPercentage, Position).


Tengelyek és hálóvonalak

Chart.AxisX, AxisY és AxisZ ChartAxis objektumok (a Chart.Axes egy ChartAxisCollection a mindegyik iterálásához). Minden tengely rendelkezik HasMajorGridlines / HasMinorGridlines, MajorUnit / MinorUnit (páros *IsAuto jelzőkkel), Crosses / CrossesAt, CategoryType, és egy TickLabels objektummal (AxisTickLabels) a címke betűtípusa és tájolása számára. ChartAxis.Title (ChartAxisTitle) állítja be a tengely felirat szövegét a Text és Show tulajdonságain keresztül.


Jelmagyarázat, cím és adat táblázat

Chart.Title (ChartTitle) állítja be a diagram általános feliratát — Text, Show és Font. Chart.Legend (ChartLegend) szabályozza, hogy a jelmagyarázat hol és mikor jelenik meg a Position (egy LegendPosition érték, például Bottom, Right vagy Top) segítségével, és elérhetővé teszi az egyedi LegendEntries. Chart.DataTable (ChartDataTable) megjelenítheti az alatta lévő sorozatértékeket táblázatként a diagram terület alatt, Show, HasLegendKeys és keretkapcsolók segítségével.


Diagram elemek formázása

A legtöbb diagram elem — sorozatok, adatpontok, tengelyek, a cím és a jelmagyarázat — Format nevű, ChartFormat típusú tulajdonságot tesz elérhetővé, amely viszont Fill és Stroke értékeket biztosít az elem színeihez, valamint egy ShapeType (ChartShapeType) adatpont-jelölő alakzatokhoz. ChartFormat.SetDefaultFill() visszaállít egy elemet a témája által meghatározott alapértelmezett megjelenésre.


Tippek és bevált gyakorlatok

  • Mindig törölje vagy cserélje le a helykitöltő sorozatot (chart.Series.Clear()) a valós adatok hozzáadása előtt — egy frissen beszúrt diagram már mintaadatokkal érkezik.
  • Használjon ChartSeriesCollection.Add túlterheléseket, amelyek megfelelnek az adatstruktúrájának (kategóriák, X/Y párok, dátumok vagy buborékméretek), ahelyett, hogy mindent kategória/érték párokon keresztül erőltetne.
  • Állítsa be a HasDataLabels = true értéket egy sorozaton, mielőtt konfigurálná a DataLabels gyűjteményt — a gyűjtemény megjelenítési tulajdonságai nem láthatóak, amíg a címkék ki vannak kapcsolva.
  • Olvassa el a Chart.ChartSpace dokumentációt vagy ellenőrizze a konkrét ChartType beállítást, mielőtt a klasszikus és a Word-2016-stílusú diagramok közötti rácsvonal- vagy tengelyviselkedésre támaszkodna.
  • Részesítse előnyben a ChartFormat.SetDefaultFill() használatát a minden kitöltési tulajdonság kézi törlése helyett, ha egy elem megjelenését szeretné visszaállítani.

Gyakori problémák

ProblémaOkMegoldás
Az új diagram váratlan demó adatokat mutatInsertChart feltölti a diagramot helyőrző sorozattalHívja meg a(z) chart.Series.Clear() függvényt, mielőtt saját sorozatot adna hozzá
Az adatcímkék nem jelennek megA(z) HasDataLabels nem volt beállítva a sorozaton, mielőtt a(z) DataLabels beállításra került volnaÁllítsa be series.HasDataLabels = true, majd konfigurálja a ShowValue/ShowCategoryName a(z) series.DataLabels
A rácsvonalak nem jelennek meg az értéktengelyenHasMajorGridlines/HasMinorGridlines alapértelmezés szerint false erre a tengelyreÁllítsa be a(z) chart.AxisY.HasMajorGridlines = true (és HasMinorGridlines, ha szükséges)
A jelmagyarázat nem jelenik megChart.Legend.Position be van állítva LegendPosition.NoneÁllítsa be a(z) Position értékét Bottom, Right, Top, Left vagy TopRight értékre

FAQ

Hogyan szúrhatok be egy diagramot egy dokumentumba?

Hívja meg a DocumentBuilder.InsertChart(chartType, width, height) függvényt. Visszaadja a tartalmazó Shape-t; olvassa el a Chart tulajdonságát a diagram konfigurálásához.

Hogyan adhatok adatot egy diagramhoz?

Törölje a helyőrző sorozatot a chart.Series.Clear() segítségével, majd hívja meg a chart.Series.Add(seriesName, categories, values) függvényt (vagy a többi Add túlterhelés egyikét X/Y, dátum vagy buborék adatokhoz).

Mely diagramtípusok állnak rendelkezésre?

ChartType tartalmazza a klasszikus családokat (Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, valamint azok halmozott és 3D változatait) és a Word 2016 diagramtípusait (Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall).

Hogyan változtathatom meg a jelmagyarázat megjelenési helyét?

Állítsa be a Chart.Legend.Position értékét egy LegendPosition értékre, például LegendPosition.Bottom vagy LegendPosition.Right.

Formázhatok egy egyedi adatpontot másképp, mint a sorozat többi részét?

Igen — indexelj a ChartSeries.DataPoints (egy ChartDataPointCollection)-ban, és állítsd be a ChartDataPoint Format, Marker vagy Explosion értékét a sorozatszintű formázástól függetlenül.


API Reference összegzés

Osztály/MódszerLeírás
DocumentBuilder.InsertChartBeszúr egy diagram alakzatot a kurzor helyére, és visszaadja.
ChartA diagram konfigurációs objektuma, amelyet a Shape.Chart útján érhetünk el.
ChartTypeAz elérhető diagramtípusok felsorolása (vonal, oszlop, kör, valamint a Word-2016 diagramtípusok).
ChartSeriesCollection / ChartSeriesA diagram adat sorozatai és azok hozzáadására, beszúrására vagy eltávolítására szolgáló módszerek.
ChartDataPointCollection / ChartDataPointPontonkénti formázás egy sorozaton belül.
ChartDataLabelCollection / ChartDataLabelAz érték/kategória címkék, amelyek a diagram pontjain jelennek meg.
ChartAxis / ChartAxisCollectionTengely beállítása — rácsvonalak, egységek, metszéspont, skálacímkék.
ChartLegend / LegendPositionLegend visibility and placement.
ChartTitleThe chart’s overall caption.
ChartDataTableOptional table of series values shown below the plot area.
ChartFormatFill, stroke, and shape formatting shared by most chart elements.

Lásd még:

 Magyar