用JFreeChart画柱状图的范例

用JFreeChart画柱状图的范例
      这个范例说明如何用JFreeChart画简单的柱状图,下面是一个JSP的简单范例:

<% @ page contentType = " text/html; charset=GB2312 "   %>
<% @ page import = " java.awt.*, java.text.*, java.util.* "   %>
<% @ page import = " org.jfree.chart.* "   %>
<% @ page import = " org.jfree.chart.axis.* "   %>
<% @ page import = " org.jfree.chart.labels.StandardCategoryItemLabelGenerator "   %>
<% @ page import = " org.jfree.chart.plot.* "   %>
<% @ page import = " org.jfree.chart.renderer.* "   %>
<% @ page import = " org.jfree.chart.servlet.ServletUtilities "   %>
<% @ page import = " org.jfree.data.DefaultCategoryDataset "   %>
<% @ page import = " org.jfree.ui.TextAnchor "   %>

<%
  
// The data for the bar chart
   double [] data  =   {85156179.5211123} ;
  
// The labels for the bar chart
  String[] labels  =   {"Mon""Tue""Wed""Thu""Fri"} ;
  
  DefaultCategoryDataset dataset 
=   new  DefaultCategoryDataset();
  
for  ( int  i  =   0 ; i  <  data.length; i ++ {
    dataset.addValue(data[i], 
null, labels[i]);
  }

  
  JFreeChart chart 
=  ChartFactory.createBarChart3D( "Weekly Server Load" "Work Week 25" "MBytes" , dataset, PlotOrientation.VERTICAL,  false false false );
  chart.setBackgroundPaint(
new  Color( 0xE1E1E1 ));
  
  CategoryPlot plot 
=  chart.getCategoryPlot();
  
  
//  设置Y轴显示整数
  NumberAxis rangeAxis  =  (NumberAxis) plot.getRangeAxis();
  rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
  
  CategoryAxis domainAxis 
=  plot.getDomainAxis();
  
// 设置距离图片左端距离
  domainAxis.setLowerMargin( 0.05 );
  
  BarRenderer3D renderer 
=   new  BarRenderer3D();
  
// 设置柱的颜色
  renderer.setSeriesPaint( 0 new  Color( 0xff00 ));
  plot.setRenderer(renderer);
  
  String filename 
=  ServletUtilities.saveChartAsPNG(chart,  300 280 null , session);
  String graphURL 
=  request.getContextPath()  +   " /displayChart?filename= "   +  filename;
%>
< html >
< body topmargin = " 5 "  leftmargin = " 5 "  rightmargin = " 0 " >
< div style = " font-size:18pt; font-family:verdana; font-weight:bold " >
    3D Bar Chart
</ div >
< br >
< img src = " <%= graphURL %> "  border = 0 >
</ body >
</ html >


      画出来的图:

displayChart.JPG

      和ChartDirector画出来的图做一个比较:

threedbar.JPG

你可能感兴趣的:(用JFreeChart画柱状图的范例)