Diagramm erstellen und verwalten

Erstellen von Diagrammen

Einfaches Erstellen eines Diagramms

Das Erstellen eines Diagramms mit Aspose.Cells ist mit den folgenden Beispielcodes einfach:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Adding sample values to cells
worksheet.Cells["A2"].PutValue("Category1");
worksheet.Cells["A3"].PutValue("Category2");
worksheet.Cells["A4"].PutValue("Category3");
worksheet.Cells["B1"].PutValue("Column1");
worksheet.Cells["B2"].PutValue(4);
worksheet.Cells["B3"].PutValue(20);
worksheet.Cells["B4"].PutValue(50);
worksheet.Cells["C1"].PutValue("Column2");
worksheet.Cells["C2"].PutValue(50);
worksheet.Cells["C3"].PutValue(100);
worksheet.Cells["C4"].PutValue(150);
// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];
// Setting chart data source as the range "A1:C4"
chart.SetChartDataRange("A1:C4", true);
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Dinge, die beim Erstellen eines Diagramms zu beachten sind

Bevor Sie Diagramme erstellen, ist es wichtig, einige grundlegende Konzepte zu verstehen, die hilfreich sind, wenn Sie Diagramme mit Aspose.Cells erstellen.

Diagrammobjekte

Aspose.Cells bietet eine spezielle Reihe von Klassen im Aspose.Cells.Charts-Namespace, die verwendet werden, um die von Aspose.Cells unterstützten Diagramme zu erstellen. Diese Klassen werden verwendet, um Diagrammobjekte zu erstellen, die als die Bausteine für den Diagrammaufbau dienen. Die Diagrammobjekte werden unten aufgeführt:

  • Serie, eine einzelne Datenreihe in einem Diagramm.
  • Achse, die Achse eines Diagramms.
  • Diagramm, ein einzelnes Excel-Diagramm.
  • Diagrammbereich, der Diagrammbereich im Arbeitsblatt.
  • Diagrammdaten Tabelle, eine Diagrammdatentabelle.
  • Diagrammrahmen, das Rahmenobjekt in einem Diagramm.
  • Diagrammpunkt, ein einzelner Punkt in einer Serie in einem Diagramm.
  • Diagrammpunktsammlung, eine Sammlung, die alle Punkte in einer Serie enthält.
  • Diagramme, eine Sammlung von Diagrammobjekten.
  • Datenbeschriftungen, eine Sammlung aller Datenbeschriftungsobjekte für die angegebene Serie.
  • Füllformat, Füllformat für eine Form.
  • Boden, der Boden eines 3D-Diagramms.
  • Legende, die Diagrammlegende.
  • Linie, die Diagrammlinie.
  • Seriensammlung, eine Sammlung von Serienobjekten.
  • Achsenbeschriftungen, die Achsenbeschriftungen, die mit den Achsenmarkierungen auf einer Diagrammachse verbunden sind.
  • Titel, der Titel eines Diagramms oder einer Achse.
  • Trendlinie, eine Trendlinie in einem Diagramm.
  • Trendliniensammlung, eine Sammlung aller Trendlinienobjekte für die angegebene Datenserie.
  • Wände, die Wände eines 3D-Diagramms.

Verwendung von Diagrammobjekten

Wie oben erwähnt, sind alle Diagrammobjekte Instanzen ihrer jeweiligen Klassen und bieten spezifische Eigenschaften und Methoden zur Ausführung bestimmter Aufgaben. Verwenden Sie Diagrammobjekte, um Diagramme zu erstellen.

Fügen Sie mit der Charts-Sammlung eine beliebige Art von Diagramm zu einem Arbeitsblatt hinzu. Jedes Element in der Charts-Sammlung stellt ein Chart-Objekt dar. Ein Chart-Objekt umschließt alle anderen Diagrammobjekte, die erforderlich sind, um das Aussehen des Diagramms anzupassen. Im nächsten Abschnitt wird gezeigt, wie man einige grundlegende Diagrammobjekte verwendet, um ein einfaches Diagramm zu erstellen.

Diagramm mit Aspose.Cells erstellen

Schritte:

  1. Fügen Sie einige Daten zu Arbeitsblattzellen mit der Cell-Methode des Objekts PutValue hinzu. Dies wird als Datenquelle für das Diagramm verwendet.
  2. Fügen Sie ein Diagramm zu Arbeitsblatt hinzu, indem Sie die Charts-Methode der Sammlung aufrufen, die im Worksheet-Objekt eingeschlossen ist.
  3. Geben Sie mit der ChartType-Aufzählung den Diagrammtyp an. Beispielsweise verwendet das untenstehende Beispiel den Wert ChartType.Pyramid als Diagrammtyp.
  4. Greifen Sie über die Indexübergabe auf das neue Chart-Objekt aus der Charts-Sammlung zu.
  5. Verwenden Sie eines der im Chart-Objekt eingeschlossenen Diagrammobjekte, um das Diagramm zu verwalten. Das untenstehende Beispiel verwendet das SeriesCollection-Diagrammobjekt, um die Datenquelle des Diagramms anzugeben.

Beim Hinzufügen von Quelldaten zum Diagramm kann die Datenquelle ein Zellenbereich (z. B. “A1:C3”) oder eine Sequenz von nicht zusammenhängenden Zellen (z. B. “A1, A3, A5”) oder eine Sequenz von Werten (z. B. “1,2,3”) sein.

Diese allgemeinen Schritte ermöglichen es Ihnen, beliebige Arten von Diagrammen zu erstellen. Verwenden Sie verschiedene Diagrammobjekte, um verschiedene Diagramme zu erstellen.

Es ist möglich, mit Aspose.Cells viele verschiedene Arten von Diagrammen zu erstellen. Alle von Aspose.Cells unterstützten Standarddiagramme sind in einer Aufzählung namens Aspose.Cells.Charts.ChartType vordefiniert.

Die vordefinierten Diagrammtypen sind:

Diagrammtypen Beschreibung
Column Stellt gruppiertes Säulendiagramm dar
ColumnStacked Stellt gestapeltes Säulendiagramm dar
Column100PercentStacked Stellt zu 100 % gestapeltes Säulendiagramm dar
Column3DClustered Stellt 3D-gruppiertes Säulendiagramm dar
Column3DStacked Stellt 3D-gestapeltes Säulendiagramm dar
Column3D100PercentStacked Stellt 3D-100%-gestapeltes Säulendiagramm dar
Column3D Stellt 3D-Säulendiagramm dar
Bar Stellt gestapeltes Balkendiagramm dar
BarStacked Stellt gestapeltes Balkendiagramm dar
Bar100PercentStacked Stellt 100%-gestapeltes Balkendiagramm dar
Bar3DClustered Stellt 3D-gruppiertes Balkendiagramm dar
Bar3DStacked Stellt 3D-gestapeltes Balkendiagramm dar
Bar3D100PercentStacked Stellt 3D-100%-gestapeltes Balkendiagramm dar
Line Stellt Liniendiagramm dar
LineStacked Stellt gestapeltes Liniendiagramm dar
Line100PercentStacked Stellt 100%-gestapeltes Liniendiagramm dar
LineWithDataMarkers Stellt Liniendiagramm mit Datenmarkierungen dar
LineStackedWithDataMarkers Stellt gestapeltes Liniendiagramm mit Datenmarkierungen dar
Line100PercentStackedWithDataMarkers Stellt 100%-gestapeltes Liniendiagramm mit Datenmarkierungen dar
Line3D Stellt 3D-Liniendiagramm dar
Pie Stellt Tortendiagramm dar
Pie3D Stellt 3D-Tortendiagramm dar
PiePie Stellt Tortendiagramm von Tortendiagramm dar
PieExploded Stellt explodiertes Tortendiagramm dar
Pie3DExploded Stellt ein 3D-Sprengkuchendiagramm dar
PieBar Stellt Balken eines Kuchendiagramms dar
Scatter Stellt ein Scatter-Diagramm dar
ScatterConnectedByCurvesWithDataMarker Stellt ein Scatter-Diagramm dar, das durch Kurven verbunden ist, mit Datenmarkierungen
ScatterConnectedByCurvesWithoutDataMarker Stellt ein Scatter-Diagramm dar, das durch Kurven verbunden ist, ohne Datenmarkierungen
ScatterConnectedByLinesWithDataMarker Stellt ein Scatter-Diagramm dar, das durch Linien verbunden ist, mit Datenmarkierungen
ScatterConnectedByLinesWithoutDataMarker Stellt ein Scatter-Diagramm dar, das durch Linien verbunden ist, ohne Datenmarkierungen
Area Stellt ein Flächendiagramm dar
AreaStacked Stellt ein gestapeltes Flächendiagramm dar
Area100PercentStacked Stellt ein 100 % gestapeltes Flächendiagramm dar
Area3D Stellt ein 3D-Flächendiagramm dar
Area3DStacked Stellt ein 3D-gestapeltes Flächendiagramm dar
Area3D100PercentStacked Stellt ein 3D-100 %-gestapeltes Flächendiagramm dar
Doughnut Stellt ein Doughnut-Diagramm dar
DoughnutExploded Stellt ein explodiertes Doughnut-Diagramm dar
Radar Stellt ein Radar-Diagramm dar
RadarWithDataMarkers Stellt ein Radar-Diagramm mit Datenmarkierungen dar
RadarFilled Stellt ein gefülltes Radar-Diagramm dar
Surface3D Stellt ein 3D-Oberflächendiagramm dar
SurfaceWireframe3D Stellt ein drahtgerahmtes 3D-Oberflächendiagramm dar
SurfaceContour Stellt Konturdiagramm dar
SurfaceContourWireframe Stellt Drahtgitter-Konturdiagramm dar
Bubble Stellt Blasendiagramm dar
Bubble3D Stellt 3D-Blasendiagramm dar
Cylinder Stellt Zylinderdiagramm dar
CylinderStacked Stellt gestapeltes Zylinderdiagramm dar
Cylinder100PercentStacked Stellt 100 % gestapeltes Zylinderdiagramm dar
CylindericalBar Stellt zylindrisches Balkendiagramm dar
CylindericalBarStacked Stellt gestapeltes zylindrisches Balkendiagramm dar
CylindericalBar100PercentStacked Stellt 100 % gestapeltes zylindrisches Balkendiagramm dar
CylindericalColumn3D Stellt 3D-Säulendiagramm dar
Cone Stellt Kegeldiagramm dar
ConeStacked Stellt gestapeltes Kegeldiagramm dar
Cone100PercentStacked Stellt 100 % gestapeltes Kegeldiagramm dar
ConicalBar Stellt konisches Balkendiagramm dar
ConicalBarStacked Stellt gestapeltes konisches Balkendiagramm dar
ConicalBar100PercentStacked Stellt 100 % gestapeltes konisches Balkendiagramm dar
ConicalColumn3D Stellt 3D-konisches Säulendiagramm dar
Pyramid Stellt Pyramiden-Diagramm dar
PyramidStacked Stellt gestapeltes Pyramiden-Diagramm dar
Pyramid100PercentStacked Stellt 100% gestapeltes Pyramidendiagramm dar
PyramidBar Stellt Pyramidensäulendiagramm dar
PyramidBarStacked Stellt gestapeltes Pyramidensäulendiagramm dar
PyramidBar100PercentStacked Stellt 100% gestapeltes Pyramidensäulendiagramm dar
PyramidColumn3D Stellt 3D-Pyramiden-Säulendiagramm dar

Pyramiden-Diagramm

Wenn der Beispielcode ausgeführt wird, wird ein Pyramiden-Diagramm dem Arbeitsblatt hinzugefügt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Excel object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding sample values to cells
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);
// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.NSeries.Add("A1:B3", true);
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Linien-Diagramm

Im obigen Beispiel wird durch einfaches Ändern von ChartType in Line ein Liniendiagramm erstellt. Der vollständige Quellcode wird unten bereitgestellt. Wenn der Code ausgeführt wird, wird dem Arbeitsblatt ein Liniendiagramm hinzugefügt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Excel object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding sample values to cells
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);
// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Line, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.NSeries.Add("A1:B3", true);
// Saving the Excel file
workbook.Save( dataDir + "output.xls");

Bubble-Diagramm

Um ein Bubble-Diagramm zu erstellen, muss ChartType auf ChartType.Bubble gesetzt und einige zusätzliche Eigenschaften wie BubbleSizes, Values & XValues entsprechend festgelegt werden. Nach Ausführung des folgenden Codes wird dem Arbeitsblatt ein Bubble-Diagramm hinzugefügt.

Liniendiagramm mit Datenmarkierungen

Um ein Liniendiagramm mit Datenmarkierungen zu erstellen, muss ChartType auf ChartType.LineWithDataMarkers gesetzt und einige zusätzliche Eigenschaften wie Hintergrundbereich, Series Markers, Values & XValues entsprechend festgelegt werden. Nach Ausführung des folgenden Codes wird dem Arbeitsblatt ein Liniendiagramm mit Datenmarkierungen hinzugefügt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Instantiate a workbook
Workbook workbook = new Workbook();
// Access first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Set columns title
worksheet.Cells[0, 0].Value = "X";
worksheet.Cells[0, 1].Value = "Y";
// Random data shall be used for generating the chart
Random R = new Random();
// Create random data and save in the cells
for (int i = 1; i < 21; i++)
{
worksheet.Cells[i, 0].Value = i;
worksheet.Cells[i, 1].Value = 0.8;
}
for (int i = 21; i < 41; i++)
{
worksheet.Cells[i, 0].Value = i - 20;
worksheet.Cells[i, 1].Value = 0.9;
}
// Add a chart to the worksheet
int idx = worksheet.Charts.Add(ChartType.LineWithDataMarkers, 1, 3, 20, 20);
// Access the newly created chart
Chart chart = worksheet.Charts[idx];
// Set chart style
chart.Style = 3;
// Set autoscaling value to true
chart.AutoScaling = true;
// Set foreground color white
chart.PlotArea.Area.ForegroundColor = Color.White;
// Set Properties of chart title
chart.Title.Text = "Sample Chart";
// Set chart type
chart.Type = ChartType.LineWithDataMarkers;
// Set Properties of categoryaxis title
chart.CategoryAxis.Title.Text = "Units";
//Set Properties of nseries
int s2_idx = chart.NSeries.Add("A2: A2", true);
int s3_idx = chart.NSeries.Add("A22: A22", true);
// Set IsColorVaried to true for varied points color
chart.NSeries.IsColorVaried = true;
// Set properties of background area and series markers
chart.NSeries[s2_idx].Area.Formatting = FormattingType.Custom;
chart.NSeries[s2_idx].Marker.Area.ForegroundColor = Color.Yellow;
chart.NSeries[s2_idx].Marker.Border.IsVisible = false;
// Set X and Y values of series chart
chart.NSeries[s2_idx].XValues = "A2: A21";
chart.NSeries[s2_idx].Values = "B2: B21";
// Set properties of background area and series markers
chart.NSeries[s3_idx].Area.Formatting = FormattingType.Custom;
chart.NSeries[s3_idx].Marker.Area.ForegroundColor = Color.Green;
chart.NSeries[s3_idx].Marker.Border.IsVisible = false;
// Set X and Y values of series chart
chart.NSeries[s3_idx].XValues = "A22: A41";
chart.NSeries[s3_idx].Values = "B22: B41";
// Save the workbook
workbook.Save(outputDir + @"LineWithDataMarkerChart.xlsx", Aspose.Cells.SaveFormat.Xlsx);

Erweiterte Themen