0

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);
            }
        }
    }

誰でもこれについて私を助けてくれますか? 上記のコードは棒グラフでは機能しますが、円グラフでは機能しません...私は2Dも試しましたが成功しませんでした..

4

2 に答える 2

0

あなたの円グラフはまだあなたの色を使用していますが、グラデーションではありませんか? 私が尋ねる理由は、デフォルトの色が表示されている場合は、プロットの場所を変更して、セクションの色が自動入力されないようにする必要があるためです。3D プロットではこれを行っていませんが、2D プロットでは必要でした。

于 2010-03-10T21:49:12.567 に答える
0

これが円グラフの開始範囲と終了範囲が同じ修正チャートである場合、正しい xy 座標を指定することでそれを実現できます。

于 2011-03-28T14:44:05.120 に答える