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.

todo:image_alt_text

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