JFreeChart

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

Типи діаграм

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

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

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

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

  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);
 }
}

Посилання

  • http://www.jfree.org/jfreechart/ [Архівовано 27 червня 2009 у Wayback Machine.] — сторінка проекту
  • cewolf
  • JWebChart [Архівовано 19 січня 2018 у Wayback Machine.]
  • Створюємо графіки за допомогою JFreeChart [Архівовано 4 вересня 2014 у Wayback Machine.]
  • http://ukr-technologies.blogspot.com/2012/06/4-jfreechart.html [Архівовано 30 травня 2017 у Wayback Machine.]
  • http://ukr-technologies.blogspot.com/2012/06/7.html [Архівовано 29 травня 2017 у Wayback Machine.]