Cómo crear un gráfico combinado
Escenarios de uso posibles
Los gráficos combo en Excel te permiten aprovechar esta opción porque puedes combinar fácilmente dos o más tipos de gráficos para hacer que tus datos sean comprensibles. Los gráficos combo son útiles cuando tus datos contienen múltiples tipos de valores, incluidos precio y volumen. Además, los gráficos combo son factibles cuando los números de tus datos varían ampliamente de serie a serie. Tomando el siguiente conjunto de datos como ejemplo, podemos observar que estos datos son bastante similares a los datos mencionados en VHCL. Si queremos visualizar la serie0, que corresponde a “Ingresos totales,” como un gráfico de líneas, ¿cómo deberíamos proceder?
Gráfico combo
Después de ejecutar el código a continuación, verás el gráfico combo como se muestra a continuación.
Código de muestra
El siguiente código de muestra carga el archivo de Excel de muestra y genera el archivo de Excel de salida.
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"); |