注意:标上 红颜色的,就是我们需要替换的代码,就是把我们需要展现的数据替换上来就OK了。<script>
data = [4,8,6,3,5,2,6,8,4,5,7,8];
new RGraph.Bar({
id: 'cvs',
data: data,
options: {
textAccessible: true,
scaleZerostart: true,
backgroundGridAutofitNumvlines: 0,
linewidth: 0,
shadow: false,
hmargin: 7,
colors: ['Gradient(pink:red:#f33)', 'Gradient(green:#0f0)'],
labelsAbove: true,
labels: ['aa','AA','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
clearto: 'white',
variant: '3d',
gutterBottom: 90,
noaxes: true
}
}).wave({frames: 60});
</script>
- 1、生成需要的显示名字符串,数值字符串。
- 2、前台把字符串生成数组。
这直接从demo中复制到自己项目中就可以了。<script src="../js/rgraph/RGraph.common.core.js" ></script>
<script src="../js/rgraph/RGraph.bar.js" ></script>
JSONObject取key:String jname = new String();
String jdata = new String();
//
// for (Iterator<?> iterator = report.keys(); iterator.hasNext();) {
// jname.put(iterator.next());
// }
jname = report.names().toString();
for (Iterator<?> iterator = report.keys(); iterator.hasNext();) {
jdata+=(report.opt((String) iterator.next()))+",";
}
//将最后的逗号去除
jdata=jdata.substring(0,jdata.length()-1);//将jsonArray的前后[]去除
jname=jname.substring(1,jname.length()-1);
//将文字内容的双引号去除
String jnameString = jname.replace("\"", "");
String jdataString = jdata.replace("\"", "");
request.setAttribute("jname", jnameString);
request.setAttribute("jdata", jdataString);
- 一 :就是使用keys(),这个返回的是一个Iterator,然后遍历下就循环出来了,上面注释的就是这个。
- 二:使用names(),这个方法返回的是一个jsonarray,极其好用啊。如果不要括号,就像我上面做的那样,删掉去就好了
//让后台传值过来的字符串变成数组,并不需要拼接[]//这里的data都是使用数组,而并不是jsonarray的字符串
var data = $("#jdata").val().split(",");
var data2 = $("#jname").val().split(",");
new RGraph.Bar({
id: 'cvs',
data: data,
options: {
textAccessible: true,
scaleZerostart: true,
backgroundGridAutofitNumvlines: 0,
linewidth: 0,
shadow: false,
hmargin: 7,
colors: ['Gradient(pink:red:#f33)', 'Gradient(green:#0f0)'],
labelsAbove: true,
labels: data2,
variant: '3d',
gutterBottom: 30,
noaxes: true
}
}).wave({frames: 60});
4、效果展示
PS:示例图片是很丑,数据的确很杂。但是我就是这么直接暴力,能用就行