144 lines
4.5 KiB
Java
Executable File
144 lines
4.5 KiB
Java
Executable File
/* ===========================================================
|
|
* JFreeChart : a free chart library for the Java(tm) platform
|
|
* ===========================================================
|
|
*
|
|
* (C) Copyright 2000-2007, by Object Refinery Limited and Contributors.
|
|
*
|
|
* Project Info: http://www.jfree.org/jfreechart/index.html
|
|
*
|
|
* This library is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation; either version 2.1 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
|
* License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
* USA.
|
|
*
|
|
* [Java is a trademark or registered trademark of Sun Microsystems, Inc.
|
|
* in the United States and other countries.]
|
|
*
|
|
* ------------------
|
|
* PieGraph.java
|
|
* ------------------
|
|
* (C) Copyright 2003-2007, by Object Refinery Limited and Contributors.
|
|
*
|
|
* Original Author: David Gilbert (for Object Refinery Limited);
|
|
* Contributor(s): ;
|
|
*
|
|
* Changes
|
|
* -------
|
|
* 09-Mar-2005 : Version 1, copied from the demo collection that ships with
|
|
* the JFreeChart Developer Guide (DG);
|
|
*
|
|
*/
|
|
|
|
package org.gcube.contentmanagement.graphtools.plotting.demo;
|
|
|
|
import javax.swing.JPanel;
|
|
|
|
import org.jfree.chart.ChartFactory;
|
|
import org.jfree.chart.ChartPanel;
|
|
import org.jfree.chart.JFreeChart;
|
|
import org.jfree.chart.plot.PiePlot;
|
|
import org.jfree.data.general.DefaultPieDataset;
|
|
import org.jfree.data.general.PieDataset;
|
|
import org.jfree.ui.ApplicationFrame;
|
|
import org.jfree.ui.RefineryUtilities;
|
|
|
|
/**
|
|
* A simple demonstration application showing how to create a pie chart using
|
|
* data from a {@link DefaultPieDataset}.
|
|
*/
|
|
public class PieChartDemo1 extends ApplicationFrame {
|
|
|
|
/**
|
|
* Default constructor.
|
|
*
|
|
* @param title the frame title.
|
|
*/
|
|
public PieChartDemo1(String title) {
|
|
super(title);
|
|
setContentPane(createDemoPanel());
|
|
}
|
|
|
|
/**
|
|
* Creates a sample dataset.
|
|
*
|
|
* @return A sample dataset.
|
|
*/
|
|
private static PieDataset createDataset() {
|
|
DefaultPieDataset dataset = new DefaultPieDataset();
|
|
dataset.setValue("One", new Double(43.2));
|
|
dataset.setValue("Two", new Double(10.0));
|
|
dataset.setValue("Three", new Double(27.5));
|
|
dataset.setValue("Four", new Double(17.5));
|
|
dataset.setValue("Five", new Double(11.0));
|
|
dataset.setValue("Six", new Double(19.4));
|
|
return dataset;
|
|
}
|
|
|
|
/**
|
|
* Creates a chart.
|
|
*
|
|
* @param dataset the dataset.
|
|
*
|
|
* @return A chart.
|
|
*/
|
|
private static JFreeChart createChart(PieDataset dataset) {
|
|
|
|
JFreeChart chart = ChartFactory.createPieChart(
|
|
"Pie Chart Demo 1", // chart title
|
|
dataset, // data
|
|
true, // include legend
|
|
true,
|
|
false
|
|
);
|
|
|
|
PiePlot plot = (PiePlot) chart.getPlot();
|
|
plot.setSectionOutlinesVisible(false);
|
|
plot.setNoDataMessage("No data available");
|
|
|
|
return chart;
|
|
|
|
}
|
|
|
|
/**
|
|
* Creates a panel for the demo (used by SuperDemo.java).
|
|
*
|
|
* @return A panel.
|
|
*/
|
|
public static JPanel createDemoPanel() {
|
|
JFreeChart chart = createChart(createDataset());
|
|
return new ChartPanel(chart);
|
|
}
|
|
|
|
/**
|
|
* Starting point for the demonstration application.
|
|
*
|
|
* @param args ignored.
|
|
*/
|
|
public static void main(String[] args) {
|
|
|
|
// ******************************************************************
|
|
// More than 150 demo applications are included with the JFreeChart
|
|
// Developer Guide...for more information, see:
|
|
//
|
|
// > http://www.object-refinery.com/jfreechart/guide.html
|
|
//
|
|
// ******************************************************************
|
|
|
|
PieChartDemo1 demo = new PieChartDemo1("Pie Chart Demo 1");
|
|
demo.pack();
|
|
RefineryUtilities.centerFrameOnScreen(demo);
|
|
demo.setVisible(true);
|
|
}
|
|
|
|
}
|