在PHP上显示JFreechart画的统计图方法

yipeiwu_com7年前PHP代码库
如何在PHP上显示JFreechart?可能大部分都遇到这种情况,在JSP上的servlet能完全的显示出JFreechart画的统计图,但是和其他语言混合运用就不能显示了

我现在也遇到这个问题,想了半个小时终于弄明白了,实现的过程还是很简单的。(个人经验总结而已)

解决的思路:

1.先将JFreechart生成的图片保存在web 服务器上。

2.然后在JSP上用<img>标签显示

3.通过JS将JSP导入PHP页面

这样就实现了。

部分getColumnChart.jsp源码:
复制代码 代码如下:

<%
String startTime = request.getParameter("startTime");
String endTime = request.getParameter("endTime");
String filter = request.getParameter("filter");
Charts charts = new Charts();
String start = startTime == null ? "2013-05-12" : startTime;
String end = endTime == null ? "2013-11-01" : endTime;
String filters = filter == null ? "eventtype" : filter;
JFreeChart chart = charts
.getPieChart(startTime, endTime, filter);//开始时间、结束时间、filter
String filename = ServletUtilities.saveChartAsJPEG(chart, 800, 400,
null, session);
FileOutputStream fos_jpg = null;
File file = new File(application.getRealPath("")+"/charts");
String path =request.getContextPath()+"/charts/NoData.jpg";
try {
file.mkdirs();
fos_jpg = new FileOutputStream(file.getPath()+"/"+filename);
ChartUtilities.writeChartAsJPEG(fos_jpg, 1.0f, chart, 800, 400,
null);
} catch (Exception e) {
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
}
}
path = request.getContextPath()+"/charts/"+filename;
%>
<div align="center">
<img src="<%=path %>" name="图片" width=800 height=400 border=0>
</div>

实现导入JSP的JS源码
复制代码 代码如下:

extjs.chart.chart3D = function(nodeid,id){
var panel = new Ext.Panel({
border:false,
fitToFrame: true,//很简单的就一个Html标签
html: '<iframe id="frameHelp" src="/getColumnChart.jsp" frameborder="0" width="100%" height="520" ></iframe>'
});
return panel;
}

相关文章

php从完整文件路径中分离文件目录和文件名的方法

本文实例讲述了php从完整文件路径中分离文件目录和文件名的方法。分享给大家供大家参考。具体分析如下: basename()函数用于从路径中获得文件名 dirname()函数用于从路径中...

php通过分类列表产生分类树数组的方法

本文实例讲述了php通过分类列表产生分类树数组的方法。分享给大家供大家参考。具体分析如下: 这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID ph...

php实现简单的上传进度条

php实现简单的上传进度条

Web上传文件的三种解决方案分享给大家: 这里我要使用的是form法。通过为表单元素设置enctype=”multipart/form-data”属性,让表单提交的数据以二进制编码的方...

浅析PHP7的多进程及实例源码

准备 我们都知道PHP是单进程执行的,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,但PHP实现多进程也意义重大,尤其是在后台Cli模式下处理大量数据或运行...

PHP实现根据时间戳获取周几的方法

本文实例讲述了PHP实现根据时间戳获取周几的方法。分享给大家供大家参考,具体如下: 获取某个时间戳的周几,以及未来几天以后的周几  其中: $time 代表时间  $...