1、 新建一个对象的时候。var chart = new FusionCharts(“swf”,”id”,”width”,”height”,”debugmodel”,”registerwithjs”)
FusionCharts(“swf”,”id”,”width”,”height”,”debugmodel”,”registerwithjs”)中的各个参数。
swf:代表图表模式的swf文件。
id:确保这个图表在当前页面是唯一的。
width、height:图表的宽度及高度
debugmodel是设置chart的调试模式,默认为0.如果设为1,会弹出调试窗口。RegisterWithJS作用是是否连接js文件,应该设为1,我们是用到fusioncharts.js文件的。但是设为0的话,也不会影响图表的生成。
最后两个参数都是可选的。
其他属性描述说明
swfUrl SWF文件的路径
id Chart 的id(可选)
widthchart 的宽度 (可选- 默认为 400)
heightchart 的高度 (可选,默认为 300)
dataSource XML 或 JSON chart 数据源。可以是XML 或 JSON文件的URL,也可以是XML字符串或JSON对象
dataFormat 定义数据源的格式,以下四种值可选。
a) xmlurl 表示数据源为XML文件的URL
b) xml 表示数据源为XML字符串
c) jsonurl 表示数据源为JSON数据文件的URL
d) json 表示数据源为JSON字符串或JSON对象
renderer 设置 chart 显示(渲染)引擎,取值可以是 'flash' 或 'javascript'.。默认为flash ,即默认生成 Flash 格式的charts。当设置为 javascript 时,FusionCharts JavaScript 类将显示为纯JavaScript charts.
bgColor 设置chart 的背景色,(可选,默认为#FFFFFF)
scaleModechart 显示的比例模式(可选)
lang 设置语言。目前只支持English 。值为"EN"。(可选)
detectFlashVersion 设置为"1" 将自动检查浏览器中是否有Flash Player 8 。 (可选,默认为 "0' )
autoInstallRedirect 是否启用自动安装 Flash Player ,设置为"1",将自动访问Adobe'网站。(可选,默认为 "0')
debugMode 设置 chart 的调试模式。可选值为 "0" 或 "1". "1", 代表可以调试。 (可选,默认为 "0")
2、 width和height的问题,让它改成chartwidth和chartheight的时候,还是不能正常显示。网上搜了下问题。没有找到解决的其他办法。
以下是供参考的出问题的可能选项:
1.画图表的div放在了表格里。
2.画图表的方法是直接写在页里,顺序执行的。
3.引用js画图表时没有加宽度。
解决:
虽然文档上写设置图表的自适应宽度为百分比是OK的,但是显然在某些未知原因下,依然是不起作用的.最直接的方式就是,修改宽度为数值类型(px)单位,如果一定要设置为百分比,可以尝试把生成图表的js写成一个方法,在onload里执行。
3、 关于graph和chart
graph标签只有chart标签的一部分功能。
chart里的一些属性,比如背景色、比如透明度这些,在graph标签里完全无用。
graph标签里不支持<style></style>.
Fusioncharts free版只支持graph,fusioncharts正式版支持chart和graph两种。
Free版只支持22种图表格式,不支持图表导出,free的字体控制是全局一起,不能让标题比其他字体大。
4、 关于name和label的问题,在sifs系统里面,category中写name的时候才会显示,但是写label就没有反应。把sifs系统里面的swf文件全部换成sips系统的swf文件之后就可以互换了。
不知道是不是因为不同的fusioncharts版本swf文件不一样。
5、 关于单位的问题修改代码已经实现。
这个问题也是基于swf文件替换之后才解决的。
numberScaleUnit是单位,numberScaleValue为除数。
String numberScaleUnit,numberScaleValue;
int e = 0;//科学计数法
double[]value = new double[30];//定义一个数组,用于存放所有的值
double value_show = value[0];//用来存放数组中的最大值
for (int j = 0; j < categories.length; j++) {//求出最大值并放在value_show中
if (!"label".equals(categories[j])) {
for (int i = 0; i < ds.rowCount(); i++) {
if (ds.containsItem(i, categories[j])) {
value[i] = ds.getDouble(i, categories[j]);
if (value[i] > value_show) {
value_show = value[i];
}
}
}
}
}
while (value_show > 10000) {
value_show = value_show / 10000;
e++;
if ((value_show > 1 && value_show < 10000) || e == 3) {
break;
}
}
if(e==3){
// 显示numberScaleUnit时的除数
numberScaleValue = para.getString("numberScaleValue", "1000000000000");
numberScaleUnit = para.getString("numberScaleUnit", "万亿");
}else if(e==2){
numberScaleValue = para.getString("numberScaleValue", "100000000");
numberScaleUnit = para.getString("numberScaleUnit", "亿");
}else {
numberScaleValue = para.getString("numberScaleValue", "10000");
numberScaleUnit = para.getString("numberScaleUnit", "万");
}
String xmlStr = "";
xmlStr +="<graph caption='"+caption+"' lineThickness='1' showValues='1' " +
"formatNumberScale='1' useRoundEdges='1' anchorRadius='2' divLineAlpha='20' divLineColor='CC3300' divLineIsDashed='1' " +
"showAlternateHGridColor='1' alternateHGridAlpha='5' alternateHGridColor='CC3300' shadowAlpha='40' " +
"labelStep='1' numvdivlines='5' chartRightMargin='35' bgAngle='270' bgAlpha='10,10' bgcolor='FFFFFF,CC3300' setAdaptiveYMin='1'" +
"yAxisName='"+yAxisName+"' xAxisName='"+xAxisName+"' numberScaleValue='" + numberScaleValue
+ "' numberScaleUnit='" + numberScaleUnit + "'>" ;
caption: 标题lineThickness:线条粗细;showValues:是否在图表上显示值;formatNumberScale:是否按默认的数据格式显示;useRoundEdges:对于柱状图是否使用圆角;anchorRadius:设置Anchors的大小(针对线图);divLineAlpha:设置div的线条透明度,可选值(0-100);divLineIsDashed:设置div是否虚线显示;showAlternateHGridColor:设置div块是否高亮显示;alternateHGridAlpha:图表中网格。