コンボチャートの作成方法
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"); |