最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects.js,还有配置文件,一个是配置界面图形如何显示的文件,一个是配置数据的文件。还有一个需要生成的.swf,最后在html里显示图形。)这些都可以到官方网站上找到,而且由具体的说明。关键是他的数据配置是要xml 和csv格式的,我怎样才能把取得的数据放到这样的格式里,我试过取出来数据把它转换成xml格式,但是用Java语言转换太麻烦而且我转换了好久都没有成功,偶尔看到了一个网页是jsp转换成xml。这一下子提醒了我,何必如此费劲呢,我通过ssh 架构得到了需要的数据,以下是我转换成xml的jsp页面:
<%@ page language="java" import="java.util.*"%> <%@ page contentType="text/xml; charset=utf-8"%> <jsp:directive.page import="org.web.entity.Stack"/> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <?xml version="1.0" encoding="UTF-8"?> <chart> <axes> <% List<Stack> list=(List<Stack>)request.getSession().getAttribute("list"); for(int i=0;i<list.size();i++) { Stack s=list.get(i); %> <axis xid="<%=i%>"><%=s.getAxis()%></axis> <% } %> </axes> <graphs> <graph gid="1"> <% for(int n=0;n<list.size();n++) { Stack ss=list.get(n); %> <value xid="<%=n%>"><%=ss.getShuju()%></value> <% } %> </graph> <graph gid="2"> <% for(int m=0;m<list.size();m++) { Stack ss=list.get(m); %> <value xid="<%=m%>"><%=ss.getShuju1()%></value> <% } %> </graph> </graphs> </chart>
哈哈问题解决了,可以缓口气了。
本文来自CSDN博客:http://blog.csdn.net/pair00/archive/2010/05/21/5613881.aspx
1 楼
lxc914_java
2011-08-18
把数据写到xml文件后,你也是这样调用的吗?
js是脚本语言,是访问不到服务器端的xml文件呀???
<script type="text/javascript"> // <![CDATA[ var so = new SWFObject("common/amradar.swf", "radar", "600", "450", "8", "#FFFFFF"); so.addVariable("path", "radar/"); so.addVariable("settings_file", escape("radar/amradar_settings.xml")); so.addVariable("data_file", escape("radar/amradar_data.xml")); so.addVariable("preloader_color", "#999999"); so.write("radar"); // ]]> </script>
js是脚本语言,是访问不到服务器端的xml文件呀???
2 楼
xieruilin
2011-08-19
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,
用 jofc吧,界面漂亮而且是动态的。
lxc914_java 写道
把数据写到xml文件后,你也是这样调用的吗?
js是脚本语言,是访问不到服务器端的xml文件呀???
<script type="text/javascript"> // <![CDATA[ var so = new SWFObject("common/amradar.swf", "radar", "600", "450", "8", "#FFFFFF"); so.addVariable("path", "radar/"); so.addVariable("settings_file", escape("radar/amradar_settings.xml")); so.addVariable("data_file", escape("radar/amradar_data.xml")); so.addVariable("preloader_color", "#999999"); so.write("radar"); // ]]> </script>
js是脚本语言,是访问不到服务器端的xml文件呀???
用 jofc吧,界面漂亮而且是动态的。