Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cv.mikusher.freechart; /** * * @author Miky Mikusher */ import java.awt.Color; import java.awt.BasicStroke; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.ChartFactory; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.xy.XYSeriesCollection; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; public class XYLineChart extends ApplicationFrame { public XYLineChart(String applicationTitle, String chartTitle) { super(applicationTitle); setDefaultCloseOperation(ApplicationFrame.EXIT_ON_CLOSE); JFreeChart xylineChart = ChartFactory.createXYLineChart(chartTitle, "Category", "Score", createDataset(), PlotOrientation.VERTICAL, true, true, false); ChartPanel chartPanel = new ChartPanel(xylineChart); chartPanel.setPreferredSize(new java.awt.Dimension(560, 367)); final XYPlot plot = xylineChart.getXYPlot(); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesPaint(0, Color.RED); renderer.setSeriesPaint(1, Color.GREEN); renderer.setSeriesPaint(2, Color.YELLOW); renderer.setSeriesStroke(0, new BasicStroke(4.0f)); renderer.setSeriesStroke(1, new BasicStroke(3.0f)); renderer.setSeriesStroke(2, new BasicStroke(2.0f)); plot.setRenderer(renderer); setContentPane(chartPanel); } private XYDataset createDataset() { final XYSeries firefox = new XYSeries("Firefox"); firefox.add(1.0, 1.0); firefox.add(2.0, 4.0); firefox.add(3.0, 3.0); final XYSeries chrome = new XYSeries("Chrome"); chrome.add(1.0, 4.0); chrome.add(2.0, 5.0); chrome.add(3.0, 6.0); final XYSeries iexplorer = new XYSeries("InternetExplorer"); iexplorer.add(3.0, 4.0); iexplorer.add(4.0, 5.0); iexplorer.add(5.0, 4.0); final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(firefox); dataset.addSeries(chrome); dataset.addSeries(iexplorer); return dataset; } }