Как заполнить цвет градиента в JFreeChart PieChart3D?

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


person Muhammad Ummar    schedule 02.03.2010    source источник


Ответы (2)


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

person Adam    schedule 10.03.2010
comment
Да, это заливка (не по умолчанию) цветом, но градиентного цвета там нет, только сплошной цвет. например GradientPaint gp0 дает только сплошной черный цвет, а не градиент от черного к серому. - person Muhammad Ummar; 12.03.2010
comment
Тогда не уверен. Я бы написал на форуме jfree: jfree.org/phpBB2 Создатель jfreechart очень полезен сам по себе. общество. Обязательно делайте перекрестные ссылки, чтобы, если вы получили ответ в одном месте, другие могли найти его в другом. - person Adam; 12.03.2010

Если это диаграмма исправлений, имеющая начальный и конечный диапазоны вашего круга, вы можете добиться этого, указав правильные координаты xy.

person Archana    schedule 28.03.2011