Creating Waterfall Chart

Creating a Waterfall Chart

Aspose.Cells APIs allows creating a waterfall chart with the help of line chart. The API also allows to customize the chart appearance to give it the shape of the waterfall by setting the most important properties to shape the chart, that is; Series.UpBars & Series.DownBars properties.

Below provided code snippet demonstrates the usage of Aspose.Cells for Java API to create a waterfall chart from scratch.

Java code to create waterfall chart

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CreateWaterfallChart.class);
// Create an instance of Workbook
Workbook workbook = new Workbook();
// Retrieve the first Worksheet in Workbook
Worksheet worksheet = workbook.getWorksheets().get(0);
// Retrieve the Cells of the first Worksheet
Cells cells = worksheet.getCells();
// Input some data which chart will use as source
cells.get("A1").putValue("Previous Year");
cells.get("A2").putValue("January");
cells.get("A3").putValue("March");
cells.get("A4").putValue("August");
cells.get("A5").putValue("October");
cells.get("A6").putValue("Current Year");
cells.get("B1").putValue(8.5);
cells.get("B2").putValue(1.5);
cells.get("B3").putValue(7.5);
cells.get("B4").putValue(7.5);
cells.get("B5").putValue(8.5);
cells.get("B6").putValue(3.5);
cells.get("C1").putValue(1.5);
cells.get("C2").putValue(4.5);
cells.get("C3").putValue(3.5);
cells.get("C4").putValue(9.5);
cells.get("C5").putValue(7.5);
cells.get("C6").putValue(9.5);
// Add a Chart of type Waterfall in same worksheet as of data
int idx = worksheet.getCharts().add(ChartType.WATERFALL, 4, 4, 25, 13);
// Reterieve the Chart object
Chart chart = worksheet.getCharts().get(idx);
// Add Series
chart.getNSeries().add("$B$1:$C$6", true);
// Add Category Data
chart.getNSeries().setCategoryData("$A$1:$A$6");
// Series has Up Down Bars
chart.getNSeries().get(0).setHasUpDownBars(true);
// Set the colors of Up and Down Bars
chart.getNSeries().get(0).getUpBars().getArea().setForegroundColor(Color.getGreen());
chart.getNSeries().get(0).getDownBars().getArea().setForegroundColor(Color.getRed());
// Make both Series Lines invisible
chart.getNSeries().get(0).getBorder().setVisible(false);
chart.getNSeries().get(1).getBorder().setVisible(false);
// Set the Plot Area Formatting Automatic
chart.getPlotArea().getArea().setFormatting(FormattingType.AUTOMATIC);
// Delete the Legend
chart.getLegend().getLegendEntries().get(0).setDeleted(true);
chart.getLegend().getLegendEntries().get(1).setDeleted(true);
// Save the workbook
workbook.save(dataDir + "output.xlsx");
  • Creating and Customizing Charts