Skapa och anpassa diagram
Möjliga användningsscenario
Ett diagram är en visuell presentation av information. Aspose.Cells tillåter utvecklare att visualisera information i diagram precis som Microsoft Excel gör. Att presentera information i diagram är alltid till hjälp för beslutsfattare att fatta snabba och rättidiga beslut. Det är lättare att snabbt se jämförelser, mönster och trender i data med diagram snarare än råa siffror. Att skapa diagram vid körning, baserat på datan i ett kalkylblad, är en av Aspose.Cells användbara funktioner. Aspose.Cells stödjer skapandet av både standard- och anpassade diagram. Nedan kommer vi att visa några exempel med exempelfiler om hur man skapar några vanliga MS-Excel-diagram med hjälp av Aspose.Cells API.
Pyramiddiagram
När exempelkoden körs läggs ett pyramid-diagram till arbetsbladet. Vänligen se den utdata Excel-filen från följande kodexempel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypePyramid = outDir + u"outputChartTypePyramid.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Adding sample values to cells | |
worksheet.GetCells().Get(u"A1").PutValue(50); | |
worksheet.GetCells().Get(u"A2").PutValue(100); | |
worksheet.GetCells().Get(u"A3").PutValue(150); | |
worksheet.GetCells().Get(u"B1").PutValue(4); | |
worksheet.GetCells().Get(u"B2").PutValue(20); | |
worksheet.GetCells().Get(u"B3").PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Pyramid, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.GetNSeries().Add(u"A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(outputChartTypePyramid); | |
Aspose::Cells::Cleanup(); |
Linjediagram
I det ovanstående exemplet skapar en enkel ändring av ChartType till ChartType::Line
ett linjediagram. Den kompletta källkoden ges nedan. När koden körs läggs ett linjediagram till arbetsbladet. Vänligen se den utdata Excel-filen från följande kodexempel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypeLine = testPath + u"outputChartTypeLine.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Adding sample values to cells | |
worksheet.GetCells().Get(u"A1").PutValue(50); | |
worksheet.GetCells().Get(u"A2").PutValue(100); | |
worksheet.GetCells().Get(u"A3").PutValue(150); | |
worksheet.GetCells().Get(u"B1").PutValue(4); | |
worksheet.GetCells().Get(u"B2").PutValue(20); | |
worksheet.GetCells().Get(u"B3").PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Line, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.GetNSeries().Add(u"A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(outputChartTypeLine); | |
Aspose::Cells::Cleanup(); |
Bubbel-diagram
För att skapa ett bubbel-diagram måste ChartType sättas till ChartType_Bubble
och några extra egenskaper såsom SetBubbleSizes & SetXValues måste ställas in därefter. När följande kod exekveras läggs ett bubbel-diagram till arbetsbladet. Vänligen se den utdata Excel-filen från följande kodexempel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypeBubble = outDir + u"outputChartTypeBubble.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Fill in data for chart's series | |
// Y Values | |
worksheet.GetCells().Get(0, 0).PutValue(u"Y Values"); | |
worksheet.GetCells().Get(0, 1).PutValue(2); | |
worksheet.GetCells().Get(0, 2).PutValue(4); | |
worksheet.GetCells().Get(0, 3).PutValue(6); | |
// Bubble Size | |
worksheet.GetCells().Get(1, 0).PutValue(u"Bubble Size"); | |
worksheet.GetCells().Get(1, 1).PutValue(2); | |
worksheet.GetCells().Get(1, 2).PutValue(3); | |
worksheet.GetCells().Get(1, 3).PutValue(1); | |
// X Values | |
worksheet.GetCells().Get(2, 0).PutValue(u"X Values"); | |
worksheet.GetCells().Get(2, 1).PutValue(1); | |
worksheet.GetCells().Get(2, 2).PutValue(2); | |
worksheet.GetCells().Get(2, 3).PutValue(3); | |
// Set first column width | |
worksheet.GetCells().SetColumnWidth(0, 12); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Bubble, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from B1 to D1 | |
chart.GetNSeries().Add(u"B1:D1", true); | |
// Set bubble sizes | |
chart.GetNSeries().Get(0).SetBubbleSizes(u"B2:D2"); | |
// Set X axis values | |
chart.GetNSeries().Get(0).SetXValues(u"B3:D3"); | |
// Set Y axis values | |
chart.GetNSeries().Get(0).SetValues(u"B1:D1"); | |
// Saving the Excel file | |
workbook.Save(outputChartTypeBubble); | |
Aspose::Cells::Cleanup(); |
Skapa Anpassade Diagram
Hittills, när vi har diskuterat diagram, har vi tittat på standarddiagram som har sina egna standardformateringsinställningar. Vi definierar bara datakällan, ställer in några egenskaper och diagrammet skapas med sina standardformateringsinställningar. Men Aspose.Cells API:er stödjer också skapandet av anpassade diagram som tillåter utvecklare att skapa diagram med sina egna formateringsinställningar. Utvecklare kan skapa anpassade diagram vid körning med hjälp av Aspose.Cells.
Ett diagram består av en dataserie. När man skapar ett anpassat diagram har utvecklare friheten att använda olika diagramtyper för olika dataserier.
Följande kodexempel visar hur man skapar anpassade diagram. I det här exemplet kommer vi att använda ett stapeldiagram för den första dataserien och ett linjediagram för den andra serien. Resultatet är att vi lägger till ett stapeldiagram, i kombination med ett linjediagram, till arbetsbladet. Vänligen se den utdata Excel-filen från följande kodexempel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypeCustom = outDir + u"outputChartTypeCustom.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Adding sample values to cells | |
worksheet.GetCells().Get(u"A1").PutValue(50); | |
worksheet.GetCells().Get(u"A2").PutValue(100); | |
worksheet.GetCells().Get(u"A3").PutValue(150); | |
worksheet.GetCells().Get(u"A4").PutValue(110); | |
worksheet.GetCells().Get(u"B1").PutValue(260); | |
worksheet.GetCells().Get(u"B2").PutValue(12); | |
worksheet.GetCells().Get(u"B3").PutValue(50); | |
worksheet.GetCells().Get(u"B4").PutValue(100); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Column, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from A1 to B4 | |
chart.GetNSeries().Add(u"A1:B4", true); | |
// Setting the chart type of 2nd NSeries to display as line chart | |
chart.GetNSeries().Get(1).SetType(Aspose::Cells::Charts::ChartType::Line); | |
// Saving the Excel file | |
workbook.Save(outputChartTypeCustom); | |
Aspose::Cells::Cleanup(); |