Hi
I just intalled FreeChart and was hopping some one could give me a quick example so I can text to see if my intall works. Just a quick XYplot example would be great thanks
Martin
XYPLot example
Re: XYPLot example
Hi Martin,
There's a stack of examples in the src/com/jrefinery/chart/demo directory.
Regards,
DG.
There's a stack of examples in the src/com/jrefinery/chart/demo directory.
Regards,
DG.
Re: XYPLot example
Marty,
Here's a simple example of an XYPlot
=====================================
package charts;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Paint;
import java.awt.Color;
import java.awt.BasicStroke;
import com.jrefinery.data.XYSeries;
import com.jrefinery.data.XYSeriesCollection;
import com.jrefinery.chart.JFreeChart;
import com.jrefinery.chart.ChartFactory;
import com.jrefinery.chart.ChartPanel;
import com.jrefinery.chart.XYPlot;
import com.jrefinery.chart.NumberAxis;
import com.jrefinery.chart.TickUnits;
import com.jrefinery.chart.ValueAxis;
import com.jrefinery.chart.Marker;
public class ChartOne extends JPanel
{
public ChartOne()
{
super();
// create a dataset...
XYSeries series1 = new XYSeries("Planned");
series1.add(1.0, 1.0);
series1.add(2.0, 4.0);
series1.add(3.0, -3.0);
series1.add(4.0, 5.0);
series1.add(5.0, 5.0);
series1.add(6.0, 7.0);
series1.add(7.0, 7.0);
series1.add(8.0, 8.0);
XYSeries series2 = new XYSeries("Delivered");
series2.add(1.0, 5.0);
series2.add(2.0, 7.0);
series2.add(3.0, 6.0);
series2.add(4.0, 8.0);
series2.add(5.0, -4.0);
series2.add(6.0, 4.0);
series2.add(7.0, 2.0);
series2.add(8.0, 1.0);
XYSeries series3 = new XYSeries("Third");
series3.add(3.0, 4.0);
series3.add(4.0, 3.0);
series3.add(5.0, 2.0);
series3.add(6.0, -3.0);
series3.add(7.0, 6.0);
series3.add(8.0, 3.0);
series3.add(9.0, -4.0);
series3.add(10.0, 3.0);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series1);
dataset.addSeries(series2);
dataset.addSeries(series3);
JFreeChart chart = ChartFactory.createXYChart(
"Line Chart Demo",
"X",
"Y",
dataset,
true);
XYPlot plot = (XYPlot)chart.getPlot();
plot.setSeriesPaint(0, Color.cyan);
// draw a horizontal line across the chart at y == 0
plot.addRangeMarker(new Marker(0, Color.red, new BasicStroke(1), Color.red, 1f));
ChartPanel chartPanel = new ChartPanel(chart);
add(chartPanel);
}
public static void main(String[] args)
{
JFrame frame = new JFrame("Chart One");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new ChartOne(), BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
Here's a simple example of an XYPlot
=====================================
package charts;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Paint;
import java.awt.Color;
import java.awt.BasicStroke;
import com.jrefinery.data.XYSeries;
import com.jrefinery.data.XYSeriesCollection;
import com.jrefinery.chart.JFreeChart;
import com.jrefinery.chart.ChartFactory;
import com.jrefinery.chart.ChartPanel;
import com.jrefinery.chart.XYPlot;
import com.jrefinery.chart.NumberAxis;
import com.jrefinery.chart.TickUnits;
import com.jrefinery.chart.ValueAxis;
import com.jrefinery.chart.Marker;
public class ChartOne extends JPanel
{
public ChartOne()
{
super();
// create a dataset...
XYSeries series1 = new XYSeries("Planned");
series1.add(1.0, 1.0);
series1.add(2.0, 4.0);
series1.add(3.0, -3.0);
series1.add(4.0, 5.0);
series1.add(5.0, 5.0);
series1.add(6.0, 7.0);
series1.add(7.0, 7.0);
series1.add(8.0, 8.0);
XYSeries series2 = new XYSeries("Delivered");
series2.add(1.0, 5.0);
series2.add(2.0, 7.0);
series2.add(3.0, 6.0);
series2.add(4.0, 8.0);
series2.add(5.0, -4.0);
series2.add(6.0, 4.0);
series2.add(7.0, 2.0);
series2.add(8.0, 1.0);
XYSeries series3 = new XYSeries("Third");
series3.add(3.0, 4.0);
series3.add(4.0, 3.0);
series3.add(5.0, 2.0);
series3.add(6.0, -3.0);
series3.add(7.0, 6.0);
series3.add(8.0, 3.0);
series3.add(9.0, -4.0);
series3.add(10.0, 3.0);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series1);
dataset.addSeries(series2);
dataset.addSeries(series3);
JFreeChart chart = ChartFactory.createXYChart(
"Line Chart Demo",
"X",
"Y",
dataset,
true);
XYPlot plot = (XYPlot)chart.getPlot();
plot.setSeriesPaint(0, Color.cyan);
// draw a horizontal line across the chart at y == 0
plot.addRangeMarker(new Marker(0, Color.red, new BasicStroke(1), Color.red, 1f));
ChartPanel chartPanel = new ChartPanel(chart);
add(chartPanel);
}
public static void main(String[] args)
{
JFrame frame = new JFrame("Chart One");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new ChartOne(), BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}