Primary and Second Axis
Possible Usage Scenarios
When the numbers in a chart vary widely from data series to data series, or when you have mixed types of data (price and volume), plot one or more data series on a secondary vertical (value) axis. The scale of the secondary vertical axis shows the values for the associated data series. A secondary axis works well in a chart that shows a combination of column and line charts.
Handle Primary and Second Axis like Microsoft Excel
Please see the following sample code that create a new Excel file and put values of the chart in the first worksheet. Then we add a chart and show the second-axis.
Sample Code
// Create an instance of Workbook | |
Workbook workbook = new Workbook(); | |
// Access the first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Put the sample values used in a chart | |
worksheet.Cells["A1"].PutValue("Region"); | |
worksheet.Cells["A2"].PutValue("Peking"); | |
worksheet.Cells["A3"].PutValue("New York"); | |
worksheet.Cells["A4"].PutValue("Paris"); | |
worksheet.Cells["B1"].PutValue("Sales Volume"); | |
worksheet.Cells["C1"].PutValue("Growth Rate"); | |
worksheet.Cells["B2"].PutValue(100); | |
worksheet.Cells["B3"].PutValue(80); | |
worksheet.Cells["B4"].PutValue(140); | |
worksheet.Cells["C2"].PutValue(0.7); | |
worksheet.Cells["C3"].PutValue(0.8); | |
worksheet.Cells["C4"].PutValue(1.0); | |
// Create a Scatter chart | |
int pieIdx = worksheet.Charts.Add(ChartType.Scatter, 6, 6, 15, 11); | |
// Retrieve the Chart object | |
Chart chart = worksheet.Charts[pieIdx]; | |
// Add Series | |
chart.NSeries.Add("B2:C4", true); | |
// Set the category data | |
chart.NSeries.CategoryData = "=Sheet1!$A$2:$A$4"; | |
// Set the Second-Axis | |
chart.NSeries[1].PlotOnSecondAxis = true; | |
// Show the Second-Axis | |
chart.SecondValueAxis.IsVisible = true; | |
// Set the second series ChartType to line | |
chart.NSeries[1].Type = Aspose.Cells.Charts.ChartType.Line; | |
// Set the series name | |
chart.NSeries[0].Name = "Sales Volume"; | |
chart.NSeries[1].Name = "Growth Rate"; | |
// Set the Legend at the bottom of the chart area | |
chart.Legend.Position = LegendPositionType.Bottom; | |
// Fill the PlotArea area with nothing | |
chart.PlotArea.Area.FillFormat.FillType = FillType.None; | |
// Save the file | |
workbook.Save("PrimaryandSecondaryAxis.xlsx"); |