вторник, 16 марта 2010 г.

Построение графиков с использованием Java

Приведу небольшой пример простого приложения для рисования графика функции с использованием Java.

В примере будет задействована JFreeChart - библиотека для построения и вывода на экран или в файл (jpg, svg и т.п.) графиков и диаграмм различных типов.

Я провел час в поисках библиотеки для построения графиков и остановился на JFreeChart. Она оказалась первой попавшейся мне из тех, что умеют масштабировать графики "из коробки". До неё я опробовал 3 или 4 менее тяжелых, но ни одна из них меня приятно не удивила. А теперь к делу :)

Ниже приведен довольно тривиальный исходный код:


package javaapplication1;


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.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class Main {
public static void main(String[] args) {
XYSeries series = new XYSeries("sin(a)");

for(float i = 0; i < Math.PI; i+=0.1){
series.add(i, Math.sin(i));
}

XYDataset xyDataset = new XYSeriesCollection(series);
JFreeChart chart = ChartFactory
.createXYLineChart("y = sin(x)", "x", "y",
xyDataset,
PlotOrientation.VERTICAL,
true, true, true);
JFrame frame =
new JFrame("MinimalStaticChart");
// Помещаем график на фрейм
frame.getContentPane()
.add(new ChartPanel(chart));
frame.setSize(400,300);
frame.show();
}
}

Получаем следующее:

8 комментариев: