关于fusioncharts的一些问题

1、  新建一个对象的时候。var chart = new FusionCharts(“swf”,”id”,”width”,”height”,”debugmodel”,”registerwithjs”)

FusionCharts(“swf”,”id”,”width”,”height”,”debugmodel”,”registerwithjs”)中的各个参数。

swf:代表图表模式的swf文件。

id:确保这个图表在当前页面是唯一的。

widthheight:图表的宽度及高度

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、  widthheight的问题,让它改成chartwidthchartheight的时候,还是不能正常显示。网上搜了下问题。没有找到解决的其他办法。

以下是供参考的出问题的可能选项:

1.画图表的div放在了表格里。
2.
画图表的方法是直接写在页里,顺序执行的。
3.
引用js画图表时没有加宽度。

解决:

虽然文档上写设置图表的自适应宽度为百分比是OK,但是显然在某些未知原因下,依然是不起作用的.最直接的方式就是,修改宽度为数值类型(px)单位,如果一定要设置为百分比,可以尝试把生成图表的js写成一个方法,onload里执行。

3、  关于graphchart

graph标签只有chart标签的一部分功能。

 chart里的一些属性,比如背景色、比如透明度这些,在graph标签里完全无用

 graph标签里不支持<style></style>.

 

Fusioncharts free版只支持graphfusioncharts正式版支持chartgraph两种。

Free版只支持22种图表格式,不支持图表导出,free的字体控制是全局一起,不能让标题比其他字体大。

4、  关于namelabel的问题,在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:图表中网格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值