如何创建组合图表
Contents
[
Hide
]
可能的使用场景
Excel中的组合图表让您能够利用此选项,因为您可以轻松地组合两种或更多种图表类型,以使您的数据易于理解。当您的数据包含多种值(包括价格和交易量)时,组合图表是有用的。此外,当您的数据数字在系列之间有明显变化时,组合图表是可行的。 以以下数据集为例,我们可以观察到这些数据与VHCL中提到的数据相当相似。如果我们希望将与“总收入”对应的series0可视化为线图表,应该如何操作?
组合图表
运行以下代码后,您将看到下面展示的组合图表。
示例代码
以下示例代码加载了示例Excel文件并生成了输出Excel文件。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Workbook workbook = new Workbook("combo.xlsx"); | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
int i = worksheet.getCharts().add(ChartType.STOCK_VOLUME_HIGH_LOW_CLOSE,15, 0, 35, 12); | |
Chart chart = worksheet.getCharts().get(i); | |
chart.setShowLegend(true); | |
chart.getTitle().setText("Combo Chart"); | |
chart.getTitle().setVisible(true); | |
chart.getLegend().setPosition(LegendPositionType.BOTTOM); | |
chart.setChartDataRange("A1:E12",true); | |
chart.getNSeries().setCategoryData("A2:A12"); | |
for(int j = 0;j<chart.getNSeries().getCount();j++) | |
{ | |
switch (j) { | |
case 1: | |
chart.getNSeries().get(j).getMarker().setMarkerStyle(ChartMarkerType.CIRCLE); | |
chart.getNSeries().get(j).getMarker().setMarkerSize(15); | |
chart.getNSeries().get(j).getMarker().getArea().setFormatting(FormattingType.CUSTOM); | |
chart.getNSeries().get(j).getMarker().getArea().setForegroundColor(com.aspose.cells.Color.getPink()); | |
chart.getNSeries().get(j).getBorder().setVisible(false); | |
break; | |
case 2: | |
chart.getNSeries().get(j).getMarker().setMarkerStyle(ChartMarkerType.DASH); | |
chart.getNSeries().get(j).getMarker().setMarkerSize(15); | |
chart.getNSeries().get(j).getMarker().getArea().setFormatting(FormattingType.CUSTOM); | |
chart.getNSeries().get(j).getMarker().getArea().setForegroundColor(com.aspose.cells.Color.getOrange()); | |
chart.getNSeries().get(j).getBorder().setVisible(false); | |
break; | |
case 3: | |
chart.getNSeries().get(j).getMarker().setMarkerStyle(ChartMarkerType.SQUARE); | |
chart.getNSeries().get(j).getMarker().setMarkerSize(15); | |
chart.getNSeries().get(j).getMarker().getArea().setFormatting(FormattingType.CUSTOM); | |
chart.getNSeries().get(j).getMarker().getArea().setForegroundColor(com.aspose.cells.Color.getLightBlue()); | |
chart.getNSeries().get(j).getBorder().setVisible(false); | |
break; | |
} | |
} | |
chart.getNSeries().get(0).setType(ChartType.LINE); | |
chart.getPlotArea().getArea().setFormatting(FormattingType.NONE); | |
workbook.save("out.xlsx"); |