JFreeChart

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
JFreeChart
LissajousJFree.png
Тип Plotting Software
Розробник Object Refinery Limited in collaboration with the community
Стабільний випуск 1.0.13
Репозиторій github.com/jfree/jfreechart/
Платформа Віртуальна машина Java
Операційна система Cross-platform (JVM)
Написано на Java
Ліцензія LGPL
jfree.org/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);
 }
}

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