如何在JFreeChart PieChart3D中填充渐变颜色?

时间:2010-03-02 09:41:31

标签: java colors jfreechart pie-chart

我想用渐变色填充PieChart3D,我使用JFreeChart绘制图形。但它没有填充渐变色而不是填充纯色。这是我用来改变颜色的代码。

public void setColor(PiePlot3D plot, PieDataset dataset) {
        GradientPaint gp0 = new GradientPaint(1.0f, 1.0f, Color.BLACK,
                0.3f, 2.1f, Color.lightGray);
        GradientPaint gp1 = new GradientPaint(0.5f, 0.5f, Color.green,
                0.0f, 0.0f, Color.lightGray);
        GradientPaint gp2 = new GradientPaint(0.5f, 0.5f, Color.red,
                0.0f, 0.0f, Color.lightGray);

        List<Comparable> keys = dataset.getKeys();
        int aInt;

        for (int i = 0; i < keys.size(); i++) {
            aInt = i % this.color.length;
            if (i == 0) {
                plot.setSectionPaint(keys.get(i), gp0);
                plot.setBackgroundPaint(gp0);
            }
            if (i == 1) {
                plot.setSectionPaint(keys.get(i), gp1);
            }
            if (i == 2) {
                plot.setSectionPaint(keys.get(i), gp2);
            }
        }
    }

任何onle都可以帮我解决这个问题?上面的代码适用于条形图,但不适用于饼图......我也试过2D但没有任何成功..

2 个答案:

答案 0 :(得分:0)

您的饼图是否仍在使用您的颜色,但不是在渐变中?我问的原因是,如果你看到默认颜色,那么你需要改变你的情节,所以它不会自动填充剖面颜色。我没有在3D情节上做过这个,但我需要进行2D绘图。

答案 1 :(得分:0)

如果这是你的派对的开始和结束范围相同的修复图表,那么你可以通过给出正确的x-y坐标来实现这一点。