Customizing Charts
Creating Custom Charts
So far, when we’ve discussed charts, we’ve looked at standard charts that have their standard formatting settings. We only define the data source, set a few properties, and the chart is created with its default format settings. But Aspose.Cells APIs also supports creating custom charts that allows developers to create charts with their own format settings.
Developers can create custom charts at run-time using Aspose.Cells.
A chart is composed of a data series. Each data series in Aspose.Cells is represented by a Series object whereas SeriesCollection object serves as a collection of Series objects. When creating a custom chart, developers have the freedom to use different types of charts for different data series (collected in the SeriesCollection object).
The example code below demonstrates how to create custom charts. In this example, we are going to use a column chart for the first data series and a line chart for the second series. The result is that we add a column chart, combined with a line chart, to the worksheet.
// 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 Workbook 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["A4"].PutValue(110); | |
worksheet.Cells["B1"].PutValue(260); | |
worksheet.Cells["B2"].PutValue(12); | |
worksheet.Cells["B3"].PutValue(50); | |
worksheet.Cells["B4"].PutValue(100); | |
// 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]; | |
// Adding NSeries (chart data source) to the chart ranging from "A1" cell to "B4" | |
chart.NSeries.Add("A1:B4", true); | |
// Setting the chart type of 2nd NSeries to display as line chart | |
chart.NSeries[1].Type = Aspose.Cells.Charts.ChartType.Line; | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); |
Currently Aspose.Cells only supports custom charts that combine pie, line, column, and column stack charts but more charts will be supported in future releases.