1

キー値を使用して、stackedBarChart の色を変更したいと思います。円グラフでこれを行う方法は知っていますが、stackedBarCharts で同じことを達成することはできません。

円グラフの場合、基本的に私のアプローチはここに記載されている答えに似ています

注意すべきコード行は次のとおりです。

PiePlot plot = (PiePlot) chart.getPlot();
plot.setSectionPaint("J+1", Color.black);
plot.setSectionPaint("J-1", new Color(120, 0, 120));

ただし、StackedBarChart の場合、どうすればよいかわかりません。基本的に、以下の既存の jfreechart コードを変更する必要があります。

 public static JFreeChart createStackedBarChart(final String title,
                        final CategoryDataset dataset) {

                JFreeChart sectorChart = ChartFactory.createStackedBarChart(title, "",
                                "", dataset, PlotOrientation.VERTICAL, true, false, false);

                CategoryPlot plot = (CategoryPlot) sectorChart.getPlot();
                formatCategoryPlot(plot);
                sectorChart.getLegend().setBorder(0, 0, 0, 0);
                sectorChart.setBorderVisible(false);
                sectorChart.setBorderPaint(Color.white);
                plot.setOutlineVisible(false);
                StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();


                return Chart;

        }

だから私の質問は本当に、同等のものはありますか

PiePlot plot = (PiePlot) chart.getPlot();
plot.setSectionPaint("J+1", Color.black);

積み上げ棒グラフの場合? はいの場合、どのように使用できますか?

Web リソースから、setSeriesPaint に関する何かがあることがわかりますが、それはインデックスに基づいて色を変更しているようです。「J+1」などのラベルに基づいて色を変更したいと考えています。

4

1 に答える 1

1

ここgetItemPaint()に示すように、レンダラーのメソッドをオーバーライドできます。

画像

于 2014-04-15T21:05:48.597 に答える