Я пишу программу управления научным экспериментом в java, которая включает в себя графический интерфейс.
Я помогу выбрать библиотеку диаграмм для этой задачи. Программа будет содержать два типа диаграмм:
-
Линейная диаграмма с большим количеством точек данных (в диапазоне 10 ^ 4-10 ^ 5 точек на график) с частотой обновления примерно раз в 0,5-1 секунды, поэтому производительность является фактором. Эта диаграмма должна будет включать в набор точек данных с различным масштабированием.
-
Диаграмма рассеяния без множества точек данных, которая должна включать в себя строки ошибок или какой-либо способ указания ошибки в точках. Предпочтительно, как на оси X, так и на оси Y, например, в стиле перекрестия.
Логарифмическая шкала также является обязательным и хорошим инструментом масштабирования и инструментом экспорта. Я бы предпочел решение для обеих диаграмм с одним пакетом возможных.
Из исследования я сделал почти идеальный вариант, похоже, javaFX 2.0. Из того, что я читал, он имеет хорошую производительность и отлично выглядит, но я не могу найти вариант для баров ошибок. Поскольку я вообще не знаю javaFX, насколько просто расширить библиотеку диаграмм, включив в нее строки ошибок, или есть добавление с открытым исходным кодом, включающее это, что я не нашел?
Еще один вариант - графическая библиотека Google, которая, кажется, имеет все необходимые функции, однако я боюсь, что частота обновления будет проблемой в первом типе диаграммы. Является ли это жизнеспособной проблемой?
Я использовал JFreeChart, но меня беспокоит производительность, а также очень сложно добавить небольшие изменения. Они включают способ изменения цвета нанесенных точек во время выполнения после создания диаграммы, как это возможно в Matlab. Все это требует большого количества дополнительного кодирования и потребления времени, которое я стараюсь избегать.
Последний вариант, который кажется наиболее практичным, - JChart2D. Кажется, у меня большая часть функциональности, в которой я нуждаюсь, и моя единственная проблема заключается в том, что она выглядит не очень хорошо.
Есть ли у кого-нибудь рекомендации для меня? Я планирую сделать это за короткий промежуток времени, и в худшем случае я обнаружил, что ошибки в пакете сторонних разработчиков или тот вариант, который мне нужен, недоступен и требует большого количества дополнительного кода, хотя это было бы приятно узнать что-то новое.
Это решение может, конечно, повлиять на весь пакет GUI, который я предпочитаю использовать, который в настоящее время выглядит Swing.
Спасибо,