Как заполнить цвет градиента в JFreeChart PieChart3D? - PullRequest
0 голосов
/ 02 марта 2010

Я хочу заполнить 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 без какого-либо успеха ..

Ответы [ 2 ]

0 голосов
/ 28 марта 2011

Если это таблица с фиксированными значениями, в которой начальный и конечный диапазоны вашего пирога одинаковы, вы можете добиться этого, дав правильные x-y кординаты.

0 голосов
/ 11 марта 2010

Ваша круговая диаграмма все еще использует ваши цвета, но не в градиенте? Причина, по которой я спрашиваю, заключается в том, что если вы видите цвета по умолчанию, вам нужно изменить местоположение графика, чтобы он не заполнял цвета сечения. Я не делал этого на 3D-графике, но мне нужно было для 2D-графика.

...