Как установить Jfree GanttChart Подзадачи Цвет и метки - PullRequest
1 голос
/ 11 февраля 2011

Я использую Jfree Charts для отображения диаграммы Ганта. Мне нужно отображать разные цвета для подзадач, присутствующих в одной серии.

Например, если у меня есть 5 заданий в первой серии: у каждого задания должен быть свой цвет Также мне нужно распечатать ярлык для каждой задачи.

Я пробовал много способов, но безуспешно, и мог установить только цвет серии.

Пожалуйста, помогите.

Спасибо.

1 Ответ

1 голос
/ 11 февраля 2011

Один из подходов - переопределить getItemPaint() в вашем подклассе GanttRenderer.Просто верните разные цвета для каждого column.

Приложение:

Мне нужно нарисовать подзадачу в зависимости от выполненной задачи или нет, независимо от значения столбца.

Если я понимаю, вы бы вернули завершенный цвет, если этот столбец был заполнен;в противном случае верните незавершенный цвет.

Однако, пожалуйста, [вы] можете отправить фрагмент кода.

Этот пример должен помочь вам увидетьсвязь между строкой / столбцом и серией / элементом.

Кроме того, не могли бы вы дать мне знать, как печатать этикетки на подзадачах.

Потому что, GanttRenderer - это IntervalBarRenderer, я бы посмотрел на IntervalCategoryItemLabelGenerator .

Это на самом деле не работает.

Что не работает?Вы не разместили ни одного кода.Приведенный пример является модификацией стандарта BarChartDemo1;это производит следующий вывод.Обратите особое внимание на то, как существует три серии (параметр row), каждая из которых имеет пять значений (параметр col).Реализация super getItemPaint() просто возвращает серии красок в цикле.Вы можете переопределить это поведение, чтобы выполнить все, что требуется вашему приложению.

0 0 java.awt.GradientPaint@7e1a9d1b
1 0 java.awt.GradientPaint@540984b
2 0 java.awt.GradientPaint@53ce669e
0 1 java.awt.GradientPaint@7e1a9d1b
1 1 java.awt.GradientPaint@540984b
2 1 java.awt.GradientPaint@53ce669e
0 2 java.awt.GradientPaint@7e1a9d1b
1 2 java.awt.GradientPaint@540984b
2 2 java.awt.GradientPaint@53ce669e
0 3 java.awt.GradientPaint@7e1a9d1b
1 3 java.awt.GradientPaint@540984b
2 3 java.awt.GradientPaint@53ce669e
0 4 java.awt.GradientPaint@7e1a9d1b
1 4 java.awt.GradientPaint@540984b
2 4 java.awt.GradientPaint@53ce669e
...