Зависит. Недавно я сделал приложение, которое отображает большие 2-мерные наборы данных с помощью JFreechart, но я прекратил уменьшать наборы данных, чтобы иметь производительность.
Я отображал матрицы точек, которые менялись во времени (при поступлении новых данных) с временем обновления 1 секунда (поэтому перерисовывается каждая секунда графика).
Для матрицы 256 x 256 все нормально на обычном компьютере пользователя. Если матрица составляет ~ 350 баллов, она становится грубой (пользователь видит лаги в графическом интерфейсе), но ее можно использовать, если матрица размером 1024 x 1024 непригодна для использования.
Я делал рисование диаграмм в формате EDT, но все же, даже если бы взял его в другой поток - рендеринг все равно потреблял бы мощность процессора.
Так что в зависимости от размера набора данных --- вы можете использовать JFreeChart.