Легкий, постоянно обновляемый Java-чарт - PullRequest
1 голос
/ 02 марта 2011

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

Хорошая аналогия с поведением моих данных состоит в том, как свободная и используемая память системы (вероятно) будет увеличиваться и уменьшаться в течение всего периода работы приложения. Хорошей аналогией того, как я хочу, чтобы график выглядел, является график использования процессора в диспетчере задач Windows (не означает конкретные цвета и сетку, а скорее то, как выглядит линейный график).

Каков наилучший способ создания диаграмм, где я буду постоянно «добавлять» новые точки данных. Это лучший способ добавлять эти точки через регулярные промежутки времени?

Кроме того, какой API для построения графиков / графиков следует использовать? Я хотел бы, чтобы зависимости были как можно меньше, но я согласен с тем, что они, вероятно, необходимы.

tl; dnr : я хочу создать диаграмму, подобную истории использования ЦП, в диспетчере задач, но в Java для Swing.

Ответы [ 3 ]

5 голосов
/ 02 марта 2011

JFreeChart является распространенным выбором для создания диаграмм в Java.

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


См. также: Использование JFreeChart для отображения последних изменений во временном ряду (для ссылки @ trashgod !).

3 голосов
/ 02 марта 2011

Я думаю, вы могли бы сделать это самостоятельно без специального приложения для построения диаграмм.

Вы должны иметь возможность хранить точки графика в ArrayList.Затем вы можете использовать метод Graphics.drawLine (...) для соединения каждой точки.

Затем вы можете использовать Swing Timer, чтобы запланировать обновление вашего графика.Каждый раз, когда срабатывает таймер, вы можете удалить несколько точек с начала и добавить количество точек до конца.Затем вы вызываете repaint () для своего пользовательского компонента.

2 голосов
/ 02 марта 2011

Взгляните на JChart2D .С веб-страницы:

JChart2D - это минималистичная библиотека диаграмм в реальном времени, опубликованная в соответствии с утвержденной OSI ОБЩЕЙ ЛИЦЕНЗИЕЙ ОБЩЕСТВЕННОЙ ЛИЦЕНЗИИ.Он предназначен для отображения нескольких трасс, состоящих из точек трассировки.JChart2D сосредоточен вокруг одного настраиваемого виджета свинга: Chart2D.
JChart2D предназначен для инженерных задач, а не для презентаций.Его особенностью является время выполнения - точное и точное отображение данных с минимальными затратами на настройку.
...