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

Java 如何在JFreeChart PieChart3D中填充渐变色?,java,colors,jfreechart,pie-chart,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);

我想用渐变色填充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);
            }
        }
    }
public void setColor(PiePlot3D绘图,PieDataset数据集){
GradientPaint gp0=新的GradientPaint(1.0f,1.0f,Color.BLACK,
0.3层,2.1层,颜色为浅灰色);
GradientPaint gp1=新的GradientPaint(0.5f,0.5f,Color.green,
0.0f,0.0f,颜色。浅灰色);
GradientPaint gp2=新的GradientPaint(0.5f,0.5f,颜色为红色,
0.0f,0.0f,颜色。浅灰色);
List keys=dataset.getKeys();
内画;
对于(int i=0;i

有人能帮我吗?以上代码适用于条形图,但不适用于piechart。。。我也尝试过2D,但没有成功。

你的饼图仍然使用你的颜色,但不是渐变色吗?我询问的原因是,如果您看到的是默认颜色,那么您需要更改打印位置,以便它不会自动填充部分颜色。我没有在3D绘图上这样做,但我需要在2D绘图上这样做。

如果这是具有饼图开始和结束范围的固定图表,则您可以通过提供正确的x-y坐标来实现这一点。

是的,它是填充颜色(不是默认颜色),但渐变颜色不存在,只有纯色。e、 g.“GradientPaint gp0”只提供纯黑色,而不是从黑色到灰色的渐变。不确定。我会在jfree论坛上发帖:jfreechart的制作者和社区一样非常有帮助。确保相互参照,这样如果你在一个地方得到答案,其他人可以在另一个地方找到答案。