在PHP上显示JFreechart画的统计图方法_php技巧
程序员文章站
2022-05-22 11:48:32
...
如何在PHP上显示JFreechart?可能大部分都遇到这种情况,在JSP上的servlet能完全的显示出JFreechart画的统计图,但是和其他语言混合运用就不能显示了
我现在也遇到这个问题,想了半个小时终于弄明白了,实现的过程还是很简单的。(个人经验总结而已)
解决的思路:
1.先将JFreechart生成的图片保存在web 服务器上。
2.然后在JSP上用标签显示
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;
%>
实现导入JSP的JS源码
extjs.chart.chart3D = function(nodeid,id){
var panel = new Ext.Panel({
border:false,
fitToFrame: true,//很简单的就一个Html标签
html: ''
});
return panel;
}
我现在也遇到这个问题,想了半个小时终于弄明白了,实现的过程还是很简单的。(个人经验总结而已)
解决的思路:
1.先将JFreechart生成的图片保存在web 服务器上。
2.然后在JSP上用标签显示
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;
%>
实现导入JSP的JS源码
复制代码 代码如下:
extjs.chart.chart3D = function(nodeid,id){
var panel = new Ext.Panel({
border:false,
fitToFrame: true,//很简单的就一个Html标签
html: ''
});
return panel;
}
上一篇: PHP 5.0对象模型深度探索之对象复制
推荐阅读
-
在PHP上显示JFreechart画的统计图方法
-
在PHP上显示JFreechart画的统计图方法
-
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法_php技巧
-
在PHP上显示JFreechart画的统计图方法_PHP教程
-
在PHP上显示JFreechart画的统计图方法_php技巧
-
在PHP上显示JFreechart画的统计图方法
-
在PHP上显示JFreechart画的统计图方法_php技巧
-
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法_php技巧
-
在PHP上显示JFreechart画的统计图方法_PHP教程
-
PHP Wrapper在SAE上的应用方法_php技巧