import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org .jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot .PlotOrientation; import org.jfree.chart.title.TextTitle; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetUtilities; import org.jfree.ui.ApplicationFrame; import org.jfree. ui.RectangleEdge; import org.jfree.ui.RefineryUtilities; import org.jfree.ui.Spacer; import org.jfree.ui.VerticalAlignment; import org.jfree.util.Log; import org.jfree.util.PrintStreamLogTarget; / ** * A simple demonstration application showing how to create an area chart using data from a * {@link CategoryDataset}. * / public class AreaChartDemo extends applicationFrame {/ ** * Creates a new demo application. * * @Param Title The frame title. * / public area {super (title); // create a dataset ... factory double [] [] DATA = new double [] [] {{1.0, 4.0, 3.0, 5.0, 5.0, 7.0, 7.0, 8.0, 8.0, 4.0, 4.0, 2.0, 1.0}, {4.0, 3.0, 2.0, 3.0, 6.0, 3.0, 4.0, 3.0}}; final CategoryDataset dataset = DatasetUtilities.createCategoryDataset ( "Series", "Type", data); // create the chart ... final JFreeChart chart = createChart (dataset); final ChartPanel chartPanel = new ChartPanel (chart); chartPanel.setPreferredSize ( NEW DIMENSION (500, 270));
Chartpanel.senforcefileextensions; setContentpane (chartpane);} ***************************************************** ******************************* / ** * Creates a chart. * @Param Dataset the dataset. * * @ return The chart. * / private JFreeChart createChart (final CategoryDataset dataset) {final JFreeChart chart = ChartFactory.createAreaChart ( "Area Chart", // chart title "Category", // domain axis label "Value", // range axis label dataset, // data PlotOrientation.VERTICAL, // orientation true, // include legend true, // tooltips false // urls); chart.setBackgroundPaint (Color.white); final TextTitle subtitle = new TextTitle ( "An area chart demonstration . We use this " " Subtitle As An Example of What H Appens when get a really long title ore "subtitle."); Subtitle.setFont (New Font ("Sansserif", Font.Plain, 12); Subtitle.SetPosition (RectangleEdge.top); Subtitle.setVerticalAlignment (VerticalAlignment) .BOTTOM); chart.addSubtitle (subtitle); final CategoryPlot plot = chart.getCategoryPlot (); plot.setForegroundAlpha (0.5f); plot.setBackgroundPaint (Color.lightGray); plot.setDomainGridlinesVisible (true); plot.setDomainGridlinePaint (Color .white); Plot.seTrangeGridLinesVisible (TRUE); Plot.SetRangeGridlinePaint (color.white); Final Categoryaxis DomainAxis =