一:首先要导入所需要的包:
jfreechart-1.0.14-experimental.jar、 jfreechart-1.0.14-swt.jar、jfreechart-1.0.14.jar(等等)
二:在web.xml 中,增加如下配置:
<!-- 报表开始 -->
<servlet>
<servlet-name>DisplayChart</servlet-name>
<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>
<!-- 报表结束 -->
三:在后台编写生成饼状图或者柱状图的代码
1、饼状图:
DefaultPieDataset dataset=new DefaultPieDataset();//填充饼状图的数据 集合
ConnectionProvider cp=((SessionFactoryImplementor)this.lgispEquipmentService.getEntityDao().getHibernateTemplate().getSessionFactory()).getConnectionProvider();
try{
//sql 语句
String pointSql=" select count(*) as count,point.point_type from lgisp_point as point , lgisp_equipment as equip, lgisp_terminal as ter where point.equipment_id=equip.EQUIPMENT_ID and equip.terminal_id=ter.terminal_id group by point.point_type";
Statement smt=cp.getConnection().createStatement();
ResultSet rs=smt.executeQuery(pointSql);//查询获得结果集
double equipCount=0;//设备总数目
HashMap hashMap=new HashMap();
while(rs.next()){
double count=Double.parseDouble(rs.getString(1));
int type=Integer.parseInt(rs.getString(2));
equipCount+=count;
hashMap.put(type, count);
}
List<TerManuFacturer> equipManuList=(List<TerManuFacturer>) request.getSession().getAttribute("pointManuList");
for(TerManuFacturer equip:equipManuList){
double rate=Double.parseDouble((hashMap.get(equip.getId())).toString())/ equipCount;
dataset.setValue(equip.getManuName(), rate);
}// 以上的代码是为生成图的dataset 准备数据
//通过工厂类生成JFreeChart对象
JFreeChart chart=ChartFactory.createPieChart("设备——厂家分配图", dataset, true, false, false);
PiePlot piePlot=(PiePlot)chart.getPlot();
//防止乱码,多标题重新设备字体(乱码问题借鉴http://chengyue2007.iteye.com/blog/424954 得到解决)
TextTitle textTitle=chart.getTitle();
textTitle.setFont(new Font("黑体",Font.PLAIN,20));
piePlot.setLabelFont(new Font("宋体",0,12));
//没有数据时显示的内容
piePlot.setNoDataMessage("无数据显示");
piePlot.setCircular(false);
piePlot.setLabelGap(0.02D);
OutputStream ostream=response.getOutputStream();
ChartUtilities.writeChartAsJPEG(ostream, chart,500, 500);
ostream.flush();
ostream.close();
return "输出图的页面";
2、柱状图
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
ConnectionProvider cp =((SessionFactoryImplementor)this.reportService.getEntityDao().getHibernateTemplate().getSessionFactory()).getConnectionProvider();
try{
Statement smt = cp.getConnection().createStatement();
ResultSet rs = smt.executeQuery("sql 语句);
while(rs.next()){
dataset.addValue(Double.parseDouble(rs.getString(1)),rs.getString(2), "") ;
}
JFreeChart chart = ChartFactory.createBarChart3D(
"图标测试", // 图表标题
"班级", // 目录轴的显示标签
"分数", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
OutputStream ostream = response.getOutputStream();
//设定图片的宽为400,高为300,并输出至ostream
ChartUtilities.writeChartAsJPEG(ostream, chart, 800, 600);
ostream.flush();
ostream.close();
return"输出图的页面;
这样既可完成,这是最基本的,未作进一步的改进。
分享到:
相关推荐
在这个特定的场景中,我们将关注如何使用JFreeChart生成3D饼状图和柱状图,并将这些图像保存到指定的文件目录下。 首先,我们需要了解JFreeChart的基本用法。JFreeChart的核心是`ChartFactory`类,它提供了静态方法...
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
在“flex jfreechart生成 饼状图”的场景下,我们首先需要在Java端使用JFreeChart库创建饼状图,然后将其转换为图像格式(如JPEG或PNG)。接着,Flex应用通过HTTP服务请求这个图像,并在前端以Image组件展示。这通常...
1. **数据准备**:数据是图表的基础,通常需要将数据转化为JFreeChart可理解的数据结构,如`XYSeries`(折线图)、`PieSection`(饼图)或`CategoryDataset`(柱状图)。 2. **图表工厂**:通过`ChartFactory`类...
在JFreeChart中,`PieChartDemo1`是生成饼状图的一个典型例子。饼状图适合用于展示各个分类在整体中的占比,例如市场占有率、人口构成等。你可以改变扇区颜色,添加标签,甚至为每个扇区添加工具提示和URL链接。 ``...
Java中的JFreeChart库是一个强大的工具,用于生成各种类型的图表,包括柱状图、饼状图和折线图。在本教程中,我们将深入探讨如何使用JFreeChart创建这些图表,以及如何用随机生成的数据作为数据源。 首先,...
jFreeChart是java编程语言中一个功能强大、开源免费的图表库,能够生成各种类型的图表,包括曲线图、饼状图、柱状图等。通过jFreeChart,可以快速地生成高质量的图表,以满足不同领域的需求。 jFreeChart核心对象类...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括饼状图、柱状图和折线图等。在本项目中,开发者利用JFreeChart与SQL Server 2000数据库结合,实现了从数据库获取数据并生成可视化的图表。...
“利用JFreeChart实现Java中饼状图、柱状图等图表并在Jsp中显示”这个标题表明我们将探讨如何使用JFreeChart库来创建各种类型的图表,如饼状图和柱状图,并且这些图表能够在JavaServer Pages (JSP) 中展示。...
在Java编程语言中,生成数据可视化图形,如饼状图、柱状图和折线图,是数据分析和展示的关键步骤。这些图表可以帮助我们直观地理解数据分布和趋势。本篇文章将详细探讨如何使用Java实现这三种图表。 首先,饼状图...
《使用JFreeChart生成曲线、柱状图、饼状图、分布图展示到JSP》 JFreeChart是一个强大的Java库,它允许开发者创建各种类型的图表,包括曲线图、柱状图、饼状图和分布图等。在当前JS图表库盛行的时代,JFreeChart...
在Struts2框架中集成JFreeChart库,可以方便地创建各种图表,如饼状图、柱状图和折线图,为数据分析和可视化提供便利。 JFreeChart是一个开源的Java类库,用于生成高质量的统计和财务图表。它支持多种图表类型,...
本项目提供了一个实例,展示了如何在Web页面上使用JFreeChart生成和显示这些图表。 首先,我们来详细了解一下JFreeChart库。JFreeChart是由David Gilbert开发的一个开源项目,它支持生成各种复杂的2D图表,如折线图...
JFreeChart 是一个开源的 Java 图形库,用于生成高质量的二维图表,如饼状图、柱状图、线图等。它广泛应用于数据分析、报表和可视化应用中。本篇文章将详细讲解如何利用 JFreeChart 创建不同的图表类型,包括饼状图...
java实现的 生成饼状图 生成单组柱状图 生成多组柱状图 生成堆积柱状图 生成折线图 里面包括了所需要的 jcommon-1.0.12.jar jfreechart-1.0.8a.jar
标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的...通过上述步骤,应该能够成功地在Linux环境中使用JFreeChart生成带有中文标签的图表。
例如,在上面的示例代码中,我们使用了DefaultPieDataset类、PiePlot类和JFreeChart类来生成饼状图。 在生成饼状图时,还需要使用ServletUtilities类来保存图表到文件中。ServletUtilities类是jfreechart库中的一个...
JFreeChart 是一个开源的 Java 图形库,用于生成高质量的图表,包括饼状图、柱状图、线形图等多种类型。在本教程中,我们将深入探讨如何使用 JFreeChart 创建饼状图(Pie Chart),这是一个常用于展示数据部分比例的...
在标题和描述中提到的“图形报表生成饼状图,折线图,柱状图”,这些都是数据分析和展示的常用图表类型,广泛应用于各种业务场景。接下来,我们将深入探讨这些图形报表的生成原理、应用场景以及如何在MyEclipse环境...