JFreeChart小结

来源:互联网 发布:林冉网络班报名 编辑:程序博客网 时间:2024/05/27 06:13

JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图等等。

 

JFreeChart饼图

DefaultPieDataset dataset = new DefaultPieDataset();

 

dataset.setValue("Category 1", 43.2);

dataset.setValue("Category 2", 27.9);

dataset.setValue("Category 3", 79.5);

 

 JFreeChart chart = ChartFactory.createPieChart( "图形名称", dataset, true, // 是否为图例 true, // 是否添加提示 false // URLs? );

 

例:

public class ChartTestAction extends Action {

 

                 public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm,

            HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws

            Exception {

                               DefaultPieDataset sdf= new DefaultPieDataset();

                               OutputStream out = httpServletResponse.getOutputStream();

                               sdf.setValue("小学",1500);

                               sdf.setValue("中学",2200);

                               sdf.setValue("大学本科",3700);

                               sdf.setValue("研究生",3400);

                               JFreeChart chart = ChartFactory.createPieChart("学历分布图",sdf,true,true,false); 

                              chart.setBackgroundPaint(java.awt.Color.black);

                              httpServletResponse.setContentType("image/png");

                              ChartUtilities.writeChartAsPNG(out,chart,400,300);

                              return null; }

                              }

 JFreeChart柱状图

                  DefaultCategoryDataset dataset = new DefaultCategoryDataset();

                  dataset.addValue(1.0, series1, category1); dataset.addValue(4.0, series1, category2);

                  dataset.addValue(3.0, series1, category3); dataset.addValue(5.0, series1, category4);

                  dataset.addValue(5.0, series1, category5); dataset.addValue(5.0, series2, category1);

                  dataset.addValue(7.0, series2, category2); dataset.addValue(6.0, series2, category3);

                  dataset.addValue(8.0, series2, category4); dataset.addValue(4.0, series2, category5);

                  dataset.addValue(4.0, series3, category1); dataset.addValue(3.0, series3, category2);

                  dataset.addValue(2.0, series3, category3); dataset.addValue(3.0, series3, category4);

                  dataset.addValue(6.0, series3, category5);

                 JFreeChart chart = ChartFactory.createBarChart( "图表名称", "Category", // 横坐标Lable "Value", // 纵坐标Lable dataset, // data PlotOrientation.VERTICAL //垂直显示 true, // include legend true, // tooltips? false // URLs );

 

JFreeChart折线图

                 DefaultCategoryDataset dataset = new DefaultCategoryDataset();

                 dataset.addValue(1.0, series1, type1);

                 dataset.addValue(4.0, series1, type2);

                 dataset.addValue(3.0, series1, type3);

                 dataset.addValue(5.0, series1, type4);

                 dataset.addValue(5.0, series1, type5);

                 dataset.addValue(7.0, series1, type6);

                 dataset.addValue(7.0, series1, type7);

                 dataset.addValue(8.0, series1, type8);

                 dataset.addValue(5.0, series2, type1);

                 dataset.addValue(7.0, series2, type2);

                 dataset.addValue(6.0, series2, type3);

                 dataset.addValue(8.0, series2, type4);

                 dataset.addValue(4.0, series2, type5);

                 dataset.addValue(4.0, series2, type6);

                 dataset.addValue(2.0, series2, type7);

                 dataset.addValue(1.0, series2, type8);

                 dataset.addValue(4.0, series3, type1);

                 dataset.addValue(3.0, series3, type2);

                 dataset.addValue(2.0, series3, type3);

                 dataset.addValue(3.0, series3, type4);

                 dataset.addValue(6.0, series3, type5);

                 dataset.addValue(3.0, series3, type6);

                 dataset.addValue(4.0, series3, type7);

                 dataset.addValue(3.0, series3, type8);

                 final JFreeChart chart = ChartFactory.createLineChart( "图表名称", // chart title "Type", // domain axis label "Value", // range axis label dataset, // data PlotOrientation.VERTICAL, // orientation true, // include legend true, // tooltips false // urls );

 

JFreeChart时间序列图

                        TimeSeries s1 = new TimeSeries("L&G European Index Trust", Month.class);

                        s1.add(new Month(2, 2001), 181.8);

                        s1.add(new Month(3, 2001), 167.3);

                        s1.add(new Month(4, 2001), 153.8);

                        s1.add(new Month(5, 2001), 167.6);

                        s1.add(new Month(6, 2001), 158.8);

                        s1.add(new Month(7, 2001), 148.3);

                        s1.add(new Month(8, 2001), 153.9);

                        s1.add(new Month(9, 2001), 142.7);

                        s1.add(new Month(10, 2001), 123.2);

                        s1.add(new Month(11, 2001), 131.8);

                        s1.add(new Month(12, 2001), 139.6);

                        s1.add(new Month(1, 2002), 142.9);

                        s1.add(new Month(2, 2002), 138.7);

                        s1.add(new Month(3, 2002), 137.3);

                        s1.add(new Month(4, 2002), 143.9);

                        s1.add(new Month(5, 2002), 139.8);

                        s1.add(new Month(6, 2002), 137.0);

                        s1.add(new Month(7, 2002), 132.8);

               TimeSeries s2 = new TimeSeries("L&G UK Index Trust", Month.class);

                       s2.add(new Month(2, 2001), 129.6);

                       s2.add(new Month(3, 2001), 123.2);

                       s2.add(new Month(4, 2001), 117.2);

                       s2.add(new Month(5, 2001), 124.1);

                       s2.add(new Month(6, 2001), 122.6);

                       s2.add(new Month(7, 2001), 119.2);

                       s2.add(new Month(8, 2001), 116.5);

                       s2.add(new Month(9, 2001), 112.7);

                       s2.add(new Month(10, 2001), 101.5);

                       s2.add(new Month(11, 2001), 106.1);

                       s2.add(new Month(12, 2001), 110.3);

                       s2.add(new Month(1, 2002), 111.7);

                       s2.add(new Month(2, 2002), 111.0);

                       s2.add(new Month(3, 2002), 109.6);

                       s2.add(new Month(4, 2002), 113.2);

                       s2.add(new Month(5, 2002), 111.6);

                       s2.add(new Month(6, 2002), 108.8);

                       s2.add(new Month(7, 2002), 101.6);

              TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.addSeries(s2);  

               JFreeChart chart = ChartFactory.createTimeSeriesChart( "图表名称", "Date", "Price Per Unit", dataset, true,   

                                               true, false, );

原创粉丝点击