需要用到的包 jfreechart-0.9.20.jar,jcommon-0.9.5.jar
创建一般步骤:
1.生成org.jfree.data.DefaultCategoryDataset对象,方法如下:
DefaultCategoryDataset dataSet=new DefaultCategoryDataset(); //DefaultCategoryDataset参数说明,第一个参数:数量,对应纵坐标,第二个参数:类别,区分不同类别,第三个参数:横坐标 dataSet.addValue(100,"山东","苹果"); dataSet.addValue(200,"广州","菠萝"); dataSet.addValue(300,"海口","荔枝"); dataSet.addValue(400,"海南","椰子");
2.生成org.jfree.chart.JFreeChart对象,方法如下:
JFreeChart chart = ChartFactory.createBarChart( "水果统计图", //柱状图标题 "品种", //横坐标说明 "产量", //纵坐标说明 dataSet, // 数据集,上一步生成的数据对象 PlotOrientation.VERTICAL, true, //是否有图例 true, //是否生成工具 false //是否有链接 );
3.设置org.jfree.chart.JFreeChart对象的各种属性,方法如下:
//设置背景色
(1)chart.setBackgroundPaint(new Color(0xFFFFFF));
(2)设置图边框
CategoryPlot plot = chart.getCategoryPlot(); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(TickUnits.createIntegerTickUnits()); BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false);
4.调用org.jfree.chart.servlet.ServletUtilities的静态方法
saveChartAsPNG(JFreeChart对象,宽度,高度,null,request.getSession())获得图片文件名(文件生成后放在tomcat的临时目录temp下),方法如下:
String fileName=ServletUtilities.saveChartAsPNG(chart,600,350,null,request.getSession()
5.把图片文件名传给servlet servlet/displaychart?filename=fileName,生成图片完整路径,方法如下:
(1)如下方法配置web.xml里的servlet:
<servlet> <servlet-name>displaychart</servlet-nam> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <servlet-mapping> <servlet-name>displaychart</servlet-name> <url-pattern>/servlet/displaychart</url-pattern> </servlet-mapping>
(2)String chartURL=request.getContextPath() + "/servlet/displaychart?filename="+fileName;
chartURL即是生成的图片文件完整路径,通过request返回页面,作为img的src即可显示出生成的柱状图
转载请注明来源网站:blog.ytso.com谢谢!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14736.html