Skapa och hantera diagram

Skapa diagram

Skapa helt enkelt ett diagram

Det är enkelt att skapa ett diagram med Aspose.Cells med följande exempelkoder:

// 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");

Saker att veta för att skapa ett diagram

Innan du skapar diagram är det viktigt att förstå några grundläggande begrepp som är användbara när du skapar diagram med Aspose.Cells.

Kartlägga objekt

Aspose.Cells tillhandahåller en speciell uppsättning klasser iAspose.Cells.Charts namnutrymme som används för att skapa diagram som stöds av Aspose.Cells. Dessa klasser används för att skapakartlägga objekt, som fungerar som diagrammets byggstenar. Kartobjekten listas nedan:

  • Serier, en enda dataserie i ett diagram.
  • Axis, ett diagrams axel.
  • Diagram, ett enda Excel-diagram.
  • ChartArea, diagramområdet i kalkylbladet.
  • ChartDataTable, en diagramdatatabell.
  • ChartFrame, ramobjektet i ett diagram.
  • ChartPoint, en enda punkt i en serie i ett diagram.
  • ChartPointCollection, en samling som innehåller alla poäng i en serie.
  • Diagram, en samling diagramobjekt.
  • DataLabels, en samling av alla DataLabel-objekt för den angivna serien.
  • FillFormat, fyllningsformat för en form.
  • Golv, golvet i ett 3D-diagram.
  • Legend, sjökortslegenden.
  • Linje, diagramlinjen.
  • SeriesCollection, en samling av serieobjekt.
  • TickLabels, bockmarkeringsetiketterna som är associerade med bockmärken på en diagramaxel.
  • Titel, titeln på ett diagram eller en axel.
  • Trendlinje, en trendlinje i ett diagram.
  • TrendlineCollection, en samling av alla Trendline-objekt för den angivna dataserien.
  • Väggar, väggarna i ett 3D-diagram.

Använda diagramobjekt

Som nämnts ovan är alla diagramobjekt instanser av sina respektive klasser och tillhandahåller specifika egenskaper och metoder för att utföra specifika uppgifter. Använd diagramobjekt för att skapa diagram.

Lägg till vilken typ av diagram som helst i ett kalkylblad med hjälp avDiagram samling. Varje objekt iDiagram samlingen representerar enDiagram objekt. ADiagramobjekt kapslar in alla andra diagramobjekt som krävs för att anpassa diagrammets utseende. Nästa avsnitt visar hur du använder några grundläggande diagramobjekt för att skapa ett enkelt diagram.

Skapa diagram med Aspose.Cells

Steg:

  1. Lägg till några data till kalkylbladsceller medCell föremålPutValuemetod. Detta kommer att användas som datakälla för diagrammet.
  2. Lägg till ett diagram i kalkylbladet genom att anropaDiagram samlingensLägg till metod, inkapslad iArbetsbladobjekt.
  3. Ange typen av diagram medChartTypeuppräkning. Till exempel använder exemplet nedanChartType.Pyramidvärde som diagramtyp.
  4. Få tillgång till det nyaDiagram objekt frånDiagramsamling genom att passera dess index.
  5. Använd något av kartobjekten som är inkapslade iDiagramobjekt för att hantera diagrammet. I exemplet nedan användsSeriekollektiondiagramobjekt för att ange diagrammets datakälla.

När du lägger till källdata till diagrammet kan datakällan vara ett cellintervall (som “A1:C3”) eller en sekvens av icke-sammanhängande celler (som “A1, A3, A5”), eller en sekvens av värden (som “1,2,3”).

Dessa allmänna steg låter dig skapa vilken typ av diagram som helst. Använd olika diagramobjekt för att skapa olika diagram.

Det är möjligt att skapa många olika typer av sjökort med Aspose.Cells. Alla standarddiagram som stöds av Aspose.Cells är fördefinierade i en uppräkning med namnetAspose.Cells.Charts.ChartType.

De fördefinierade diagramtyperna är:

Diagramtyper Beskrivning
Kolumn Representerar klustrade kolumndiagram
KolumnStackad Representerar staplade kolumndiagram
Kolumn100ProcentStackad Representerar 100 % staplat kolumndiagram
Kolumn3DClustrerad Representerar 3D-klustrade kolumndiagram
Kolumn3DStackad Representerar 3D staplade kolumndiagram
Kolumn3D100PercentStacked Representerar 3D 100 % staplade kolumndiagram
Kolumn 3D Representerar 3D-kolumndiagram
Bar Representerar klustrade stapeldiagram
BarStacked Representerar staplade stapeldiagram
Bar100PercentStacked Representerar 100 % staplat stapeldiagram
Bar3DClustered Representerar 3D-klustrade stapeldiagram
Bar3DStacked Representerar 3D staplade stapeldiagram
Bar3D100PercentStacked Representerar 3D 100 % staplade stapeldiagram
Linje Representerar linjediagram
LineStacked Representerar staplade linjediagram
Line100PercentStacked Representerar 100 % staplade linjediagram
LineWithDataMarkers Representerar linjediagram med datamarkörer
LineStackedWithDataMarkers Representerar staplade linjediagram med datamarkörer
Line100PercentStackedWithDataMarkers Representerar 100 % staplade linjediagram med datamarkörer
Line3D Representerar 3D-linjediagram
Paj Representerar cirkeldiagram
Pie3D Representerar 3D-cirkeldiagram
PiePie Representerar cirkeldiagram
PieExploderade Representerar exploderat cirkeldiagram
Pie3DE exploderade Representerar 3D-exploderat cirkeldiagram
PieBar Representerar Bar of Pie Chart
Sprida ut Representerar spridningsdiagram
ScatterConnectedByCurvesWithDataMarker Representerar spridningsdiagram kopplade av kurvor, med datamarkörer
ScatterConnectedByCurvesWithoutDataMarker Representerar spridningsdiagram kopplade av kurvor, utan datamarkörer
ScatterConnectedByLinesWithDataMarker Representerar spridningsdiagram anslutna med linjer, med datamarkörer
ScatterConnectedByLinesWithoutDataMarker Representerar spridningsdiagram anslutna med linjer, utan datamarkörer
Område Representerar områdesdiagram
AreaStacked Representerar staplade ytdiagram
Area100PercentStacked Representerar 100 % staplade ytdiagram
Area3D Representerar 3D-områdesdiagram
Area3DStacked Representerar 3D Stacked Area Chart
Area3D100PercentStacked Representerar 3D 100 % staplade ytdiagram
Munk Representerar munkdiagram
Doughnut Exploderade Representerar Exploded Donut Chart
Radar Representerar radardiagram
RadarWithDataMarkers Representerar radardiagram med datamarkörer
Radarfylld Representerar fyllt radardiagram
Surface3D Representerar 3D-ytdiagram
SurfaceWireframe3D Representerar Wireframe 3D Ytdiagram
Ytkontur Representerar konturdiagram
SurfaceContourWireframe Representerar Wireframe Contour Chart
Bubbla Representerar bubbeldiagram
Bubble3D Representerar 3D Bubble Chart
Cylinder Representerar cylinderdiagram
CylinderStacked Representerar diagram över staplade cylindrar
Cylinder100PercentStacked Representerar 100 % staplade cylinderdiagram
Cylinderical Bar Representerar cylindriskt stapeldiagram.
CylindericalBarStacked Representerar staplade cylindriska stapeldiagram
CylindericalBar100PercentStacked Representerar 100 % staplade cylindriska stapeldiagram
CylindericalColumn3D Representerar 3D Cylindrical Column Chart
Kon Representerar kondiagram
ConeStacked Representerar Stacked Cone Chart
Cone100PercentStacked Representerar 100 % staplade kondiagram
ConicalBar Representerar koniskt stapeldiagram
ConicalBarStacked Representerar staplade koniska stapeldiagram
ConicalBar100PercentStacked Representerar 100 % staplade koniska stapeldiagram
Konisk kolumn3D Representerar 3D koniskt kolumndiagram
Pyramid Representerar pyramiddiagram
PyramidStackad Representerar staplade pyramiddiagram
Pyramid100ProcentStacked Representerar 100 % staplade pyramiddiagram
PyramidBar Representerar pyramidstapeldiagram
PyramidBarStacked Representerar staplad pyramidstapeldiagram
PyramidBar100PercentStacked Representerar 100 % staplad pyramidstapeldiagram
PyramidColumn3D Representerar 3D Pyramid Column Chart

Pyramiddiagram

När exempelkoden exekveras läggs ett pyramiddiagram till i kalkylbladet.

// 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");

Linjediagram

I exemplet ovan ändrar du helt enkeltChartType tillLinjeskapar ett linjediagram. Den fullständiga källan finns nedan. när koden exekveras läggs ett linjediagram till i kalkylbladet.

// 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");

Bubbeldiagram

För att skapa ett bubbeldiagram,ChartType måste ställas in påChartType.Bubbleoch några extra egenskaper som BubbleSizes, Values & XValues måste ställas in därefter. När följande kod körs läggs ett bubbeldiagram till i kalkylbladet.

Linje med datamarkördiagram

För att skapa en linje med datamarkeringsdiagrammet,ChartTypemåste ställas in påChartType.LineWithDataMarkersoch några extra egenskaper som bakgrundsområde, seriemarkörer, värden och XValues måste ställas in därefter. När följande kod körs läggs en rad med datamarkörsdiagrammet till i kalkylbladet.

// 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);

Förhandsämnen