JFreeChart
![]() | |
Тип | Plotting Software |
---|---|
Розробник | Object Refinery Limited in collaboration with the community |
Стабільний випуск | 1.0.13 |
Платформа | віртуальна машина Java |
Операційна система | Cross-platform (JVM) |
Мова програмування | Java |
Ліцензія | LGPL |
Репозиторій | github.com/jfree/jfreechart |
Вебсайт | jfree.org/jfreechart/ |
JFreeChart — відкрита бібліотека для мови програмування Java, що спрощує створення різноманітних складних діаграм. Через різноманітні методи набору класів надає майже повний контроль над областю діаграми. Так реалізовані механізми збільшення/зменшення, обробки подій, можливості створення кількох діаграмі на одній області, текстові підказки, задання вигляду кривих, точок та фону і т.п.
Типи діаграм
Підтримуються такі типи діаграм:
- Лінійні графіки
- Діаграми часових рядів
- Кругові діаграми
- Графіки Гранта
- Гістограми (стовбцеві діаграми)
- Комбінована гістограма
- Графіки різниці
- Покрокові діаграми
- Комбіновані діаграми
Процес створення діаграми
Для створення діаграми необхідно здійснити три наступні кроки:
- Створити набір даних (dataset)
- Створити об’єкт JFreeChart, який відповідатиме за вивід діаграми
- Додати діаграму на якусь графічну компоненту (наприклад, панель)
Приклад коду
Наступний приклад демонструє створенню простого XY графіка з допомогою JFreeChart:
![](http://upload.wikimedia.org/wikipedia/uk/thumb/e/ed/SimpleXYChart.png/300px-SimpleXYChart.png)
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);
}
}