【报表】JFreeChart使用
来源:互联网 发布:贾斯汀比伯 知乎 编辑:程序博客网 时间:2024/05/29 17:01
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications,applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(barcharts)、散点图(scatter plots)、时序图(time series)、甘特图(Ganttcharts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
【优缺点】
优点:
- 稳定、轻量级且功能强大
- 免费开源,但是开发手册和示例要花钱购买
- API处理简单,很容易上手
- 生成的图表运行顺畅
缺陷:
- 只适合生成图片
- 文字、图片都不是特别清晰,还需要进行一些调整,比较麻烦。
- 在交互性方面它比不上Flash图表工具,比如OpenFlash Chart、AnyChart、FusionCharts等。
【实践】
jar包:jfreechart-1.0.11.jar、jcommon-1.0.14.jar
思路:先根据数据生成相应的图表图片,然后再将图片显示在浏览器上。
代码:
package com.bjpowernode.drp.statreport.web;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartUtilities;import org.jfree.chart.JFreeChart;import org.jfree.data.general.DefaultPieDataset;import com.bjpowernode.drp.util.servlet.BaseServlet;/** * 将数据生成的饼形图显示在浏览器上 * @author 郑艳霞 * */public class ChartDemoServlet extends BaseServlet {public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {res.setContentType("image/jpeg");DefaultPieDataset data = getDataSet();JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,false, false);ChartUtilities.writeChartAsJPEG(res.getOutputStream(), 1.0f, chart, 400,300, null);}/** * 获取一个演示用的简单数据集对象 * * @return */private static DefaultPieDataset getDataSet() {DefaultPieDataset dataset = new DefaultPieDataset();dataset.setValue("苹果", 100);dataset.setValue("梨子", 200);dataset.setValue("葡萄", 300);dataset.setValue("香蕉", 400);dataset.setValue("荔枝", 500);return dataset;}}
效果:
也可以对图片进行设置,在图片write在浏览器之前,进行设置,如下:
代码:
/** * 将数据生成的饼形图显示在浏览器上 * * @author 郑艳霞 * */public class ChartDemoServlet extends BaseServlet {public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {res.setContentType("image/jpeg");DefaultPieDataset data = getDataSet();JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,false, false);// 设置图片的百分百---begin---PiePlot3D plot = (PiePlot3D) chart.getPlot();// 图片中显示百分比:默认方式// plot.setLabelGenerator(new// StandardPieSectionLabelGenerator(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));// 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(),new DecimalFormat("0.00%")));// 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})"));// 设置图片的百分比---end---ChartUtilities.writeChartAsJPEG(res.getOutputStream(), 1.0f, chart,400, 300, null);}
1 0
- 【报表】JFreeChart使用
- 使用JFreeChart制作图形报表
- 使用JFreeChart制作图形报表
- 使用JFreeChart制作图形报表
- 使用jfreechart创建图形报表
- 【JFreeChart报表组件】使用JFreeChart进行图形报表打印
- 报表组件 JFreeChart (jfreechart-1.0.19) 的使用
- 在Eclipse RCP中使用JFreeChart报表
- 数据报表JFreeChart的使用用例
- JFreeChart(报表图形引擎)的使用
- JFreeChart(报表图形引擎)的使用
- 在WEB图形报表中如何使用jFreeChart
- 使用JfreeChart查询数据库生成简单图形报表
- 用JFreeChart 输出报表
- 报表制作控件JFreeChart
- JFreeChart 报表实例
- JFreeChart图形报表实例
- 用JFreeChart 生成报表
- 逻辑卷
- SQL Server-聚焦事务、隔离级别详解(二十九)
- 算法训练 2的次幂表示
- DMitry ----- 信息收集工具
- 1065. 单身狗(25)
- 【报表】JFreeChart使用
- Android组件之RecyclerView的基本使用
- ECMA5forEach
- android后台下载服务的完成及事项
- 超棒的离线文档阅读器:Zeal
- spring-jdbc
- POJ 3617Best Cow Line(字典序最小的字符串)
- Python:numPy 的 ndarray
- Linux在线升级yum