円グラフのカスタムスライスまたはセクターの色
Contents
[
Hide
]
この記事では、円グラフのスライス/セクターにカスタムカラーを追加する方法について説明します。デフォルトでは、円グラフはMicrosoft Excelのデフォルトテンプレートを使用します。他の色を使用するには、チャート内の色を再定義することが可能です。
円グラフの個々のスライスまたはセクターにカスタムカラーを設定するには:
- SeriesオブジェクトのChartPointにアクセスします。
- ChartPoint.getArea().setForegroundColor()メソッドを使用して任意の色を割り当てます。
この記事では次の方法も説明されています:
- チャートのカテゴリデータ。
- セルにリンクされたチャートタイトル。
- チャートタイトルのフォント設定。
- 凡例の位置。
ChartPoint.getArea().setForegroundColor()はパイチャートに特有のものではありませんが、すべての種類のチャートに使用できます。
パイチャートのカスタムスライスの色
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
// 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(CustomSliceOrSectorColorsPieChart.class); | |
// Create a workbook object from the template file | |
Workbook workbook = new Workbook(); | |
// Access the first worksheet. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Put the sample values used in a pie chart | |
worksheet.getCells().get("C3").putValue("India"); | |
worksheet.getCells().get("C4").putValue("China"); | |
worksheet.getCells().get("C5").putValue("United States"); | |
worksheet.getCells().get("C6").putValue("Russia"); | |
worksheet.getCells().get("C7").putValue("United Kingdom"); | |
worksheet.getCells().get("C8").putValue("Others"); | |
// Put the sample values used in a pie chart | |
worksheet.getCells().get("D2").putValue("% of world population"); | |
worksheet.getCells().get("D3").putValue(25); | |
worksheet.getCells().get("D4").putValue(30); | |
worksheet.getCells().get("D5").putValue(10); | |
worksheet.getCells().get("D6").putValue(13); | |
worksheet.getCells().get("D7").putValue(9); | |
worksheet.getCells().get("D8").putValue(13); | |
// Create a pie chart with desired length and width | |
int pieIdx = worksheet.getCharts().add(ChartType.PIE, 1, 6, 15, 14); | |
// Access the pie chart | |
Chart pie = worksheet.getCharts().get(pieIdx); | |
// Set the pie chart series | |
pie.getNSeries().add("D3:D8", true); | |
// Set the category data | |
pie.getNSeries().setCategoryData("=Sheet1!$C$3:$C$8"); | |
// Set the chart title that is linked to cell D2 | |
pie.getTitle().setLinkedSource("D2"); | |
// Set the legend position at the bottom. | |
pie.getLegend().setPosition(LegendPositionType.BOTTOM); | |
// Set the chart title's font name and color | |
pie.getTitle().getFont().setName("Calibri"); | |
pie.getTitle().getFont().setSize(18); | |
// Access the chart series | |
Series srs = pie.getNSeries().get(0); | |
// Color the indvidual points with custom colors | |
srs.getPoints().get(0).getArea().setForegroundColor(com.aspose.cells.Color.fromArgb(0, 246, 22, 219)); | |
srs.getPoints().get(1).getArea().setForegroundColor(com.aspose.cells.Color.fromArgb(0, 51, 34, 84)); | |
srs.getPoints().get(2).getArea().setForegroundColor(com.aspose.cells.Color.fromArgb(0, 46, 74, 44)); | |
srs.getPoints().get(3).getArea().setForegroundColor(com.aspose.cells.Color.fromArgb(0, 19, 99, 44)); | |
srs.getPoints().get(4).getArea().setForegroundColor(com.aspose.cells.Color.fromArgb(0, 208, 223, 7)); | |
srs.getPoints().get(5).getArea().setForegroundColor(com.aspose.cells.Color.fromArgb(0, 222, 69, 8)); | |
// Autofit all columns | |
worksheet.autoFitColumns(); | |
// Save the workbook | |
workbook.save(dataDir + "output.xlsx", SaveFormat.XLSX); |