プライマリおよびセカンダリ軸
Contents
[
Hide
]
可能な使用シナリオ
チャート内のデータ系列に数字が大幅に変動したり、データの種類が混在している場合(価格とボリュームなど)、1つ以上のデータ系列をセカンダリ垂直(値)軸にプロットします。セカンダリ垂直軸のスケールは、関連するデータ系列の値を表示します。セカンダリ軸は、列と折れ線グラフが組み合わさったチャートでうまく機能します。
Microsoft Excelのようにプライマリおよびセカンダリ軸を処理する
以下のサンプルコードを参照して、新しい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
// Create an instance of Workbook | |
Workbook workbook = new Workbook(); | |
// Access the first worksheet. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Put the sample values used in a chart | |
worksheet.getCells().get("A1").putValue("Region"); | |
worksheet.getCells().get("A2").putValue("Peking"); | |
worksheet.getCells().get("A3").putValue("New York"); | |
worksheet.getCells().get("A4").putValue("Paris"); | |
worksheet.getCells().get("B1").putValue("Sales Volume"); | |
worksheet.getCells().get("C1").putValue("Growth Rate"); | |
worksheet.getCells().get("B2").putValue(100); | |
worksheet.getCells().get("B3").putValue(80); | |
worksheet.getCells().get("B4").putValue(140); | |
worksheet.getCells().get("C2").putValue(0.7); | |
worksheet.getCells().get("C3").putValue(0.8); | |
worksheet.getCells().get("C4").putValue(1.0); | |
// Create a Scatter chart | |
int pieIdx = worksheet.getCharts().add(ChartType.SCATTER, 6, 6, 15, 11); | |
// Retrieve the Chart object | |
Chart chart = worksheet.getCharts().get(pieIdx); | |
// Add Series | |
chart.getNSeries().add("B2:C4", true); | |
// Set the category data | |
chart.getNSeries().setCategoryData("=Sheet1!$A$2:$A$4"); | |
// Set the Second-Axis | |
chart.getNSeries().get(1).setPlotOnSecondAxis(true); | |
// Show the Second-Axis | |
chart.getSecondValueAxis().setVisible(true); | |
// Set the second series ChartType to line | |
chart.getNSeries().get(1).setType(ChartType.LINE); | |
// Set the series name | |
chart.getNSeries().get(0).setName("Sales Volume"); | |
chart.getNSeries().get(1).setName("Growth Rate"); | |
// Set the Legend at the bottom of the chart area | |
chart.getLegend().setPosition(LegendPositionType.BOTTOM); | |
// Fill the PlotArea area with nothing | |
chart.getPlotArea().getArea().getFillFormat().setFillType(FillType.NONE); | |
// Save the file | |
workbook.save("PrimaryandSecondaryAxis.xlsx"); | |