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:
- Lägg till några data till kalkylbladsceller medCell föremålPutValuemetod. Detta kommer att användas som datakälla för diagrammet.
- Lägg till ett diagram i kalkylbladet genom att anropaDiagram samlingensLägg till metod, inkapslad iArbetsbladobjekt.
- Ange typen av diagram medChartTypeuppräkning. Till exempel använder exemplet nedanChartType.Pyramidvärde som diagramtyp.
- Få tillgång till det nyaDiagram objekt frånDiagramsamling genom att passera dess index.
- 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 |
När du tilldelar ett cellintervall som datakälla kan du bara ställa in intervallet från övre vänster till nedre höger. Till exempel är “A1:C3” giltigt medan “C3:A1” är ogiltigt.
|
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
- Läs och manipulera Excel 2016-diagram
- Hantera axlar i Excel-diagram
- Ställa in diagrammets utseende
- Diagramtyper
- Anpassa diagram
- Ställ in datakälla för diagrammet
- Hantera dataetiketter för Excel-diagram
- Generera diagram genom att bearbeta smarta markörer
- Skaffa arbetsblad av diagrammet
- Hantera Legend of Excel-diagram
- Manipulera positionsstorlek och designerdiagram
- Skapa cirkeldiagram med ledarlinjer
- Former i diagram
- Hantera titlar på Excel-diagram
- Diagramrendering
- Få ekvationstext för diagramtrendlinje