JFreeChart — відкрита бібліотека для мови програмування Java, що спрощує створення різноманітних складних діаграм. Через різноманітні методи набору класів надає майже повний контроль над областю діаграми. Так реалізовані механізми збільшення/зменшення, обробки подій, можливості створення кількох діаграмі на одній області, текстові підказки, задання вигляду кривих, точок та фону і т.п.

JFreeChart
Тип Plotting Software
Розробник Object Refinery Limited in collaboration with the community
Стабільний випуск 1.0.13
Версії 1.5.4 (8 січня 2023)[1]
Платформа віртуальна машина Java
Операційна система Cross-platform (JVM)
Мова програмування Java
Ліцензія LGPL
Репозиторій github.com/jfree/jfreechart
Вебсайт jfree.org/jfreechart/

Типи діаграм ред.

Підтримуються такі типи діаграм:

  • Лінійні графіки
  • Діаграми часових рядів
  • Кругові діаграми
  • Графіки Гранта
  • Гістограми (стовбцеві діаграми)
  • Комбінована гістограма
  • Графіки різниці
  • Покрокові діаграми
  • Комбіновані діаграми

Процес створення діаграми ред.

Для створення діаграми необхідно здійснити три наступні кроки:

  1. Створити набір даних (dataset)
  2. Створити об’єкт JFreeChart, який відповідатиме за вивід діаграми
  3. Додати діаграму на якусь графічну компоненту (наприклад, панель)

Приклад коду ред.

Наступний приклад демонструє створенню простого XY графіка з допомогою JFreeChart:

 
Результат виконання
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class SimpleXYChart {
public static void main(String[] args) {

 JFrame frame = new JFrame(); //створюємо каркас вікна
 frame.setTitle("Графік"); //заголовок вікна
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 //створюємо 1 ряд даних
 XYSeries series = new XYSeries("Дані");
 //додаємо точки на графіку
   series.add(1, 11);
   series.add(2, 12);
   series.add(3, 13);
   series.add(4, 14);
   series.add(5, 15);
   series.add(6, 16);
   series.add(7, 17);
   series.add(8, 14);
   series.add(9, 13.5);
   series.add(10, 11);


// зразу ж додаємо ряд в набір даних
XYSeriesCollection data = new XYSeriesCollection(series);

//створюємо діаграму
final JFreeChart chart = ChartFactory.createXYLineChart(
  "Приклад XY графіка", //Заголовок діаграми
  "X",  //назва осі X
  "Y",  //назва осі Y
  data, //дані
  PlotOrientation.VERTICAL, //орієнтація
  true, // включити легенду
  true, //підказки
  false // urls
);

 //створюємо панель для графіка
 final ChartPanel chartPanel = new ChartPanel(chart);
 //встановлюємо розмір діаграми (можна також скористатись методами JFreeChart цього)
 chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
 //додаємо панель на створений нами фрейм
 frame.setContentPane(chartPanel);
 //підганяємо розміри фрейму
 frame.pack();
 //робимо усе видимим
 frame.setVisible(true);
 }
}

Посилання ред.

  1. Release 1.5.4 — 2023.