1.建立图表步骤:

A.下载fushionChart,引入FusionCharts.js和FusionChartsExportComponent.js文件

B.建立图表对象

var chart1 = new FusionCharts(imgUrl, "chart1Id", "800", "400","0","1");

param1:使用的flash文件的路径

param2:对象ID

param3:图表长

param4:图表高

param5:是否显示Debug信息

param6:使用图片导出时需置为1

C:设置图表对象对应XML内容

使用JSON数据,拼接为XML格式数据

XML格式如下

//简单格式

<chart caption='省份-营收饼图' xAxisName='省份' yAxisName='营收' baseFont='宋体' baseFontSize='12' exportEnabled='1' exportAtClient='1' exportHandler='fcExporter1' >
<set name='广东' value='14.9' />
<set name='湖南' value='3.3' />
</chart> //复杂格式 双Y轴
<chart palette='2' caption='自定义图表' rotateNames='0' showValues='1' divLineDecimalPrecision='1' limitsDecimalPrecision='1' formatNumberScale='1' exportEnabled='1' exportAtClient='1' exportHandler='fcExporter1'>
<categories> //x轴值 dataset中的值个数需与之一致
<category label='2015第2季度' />
<category label='2015第3季度' />
</categories>
<dataset renderAs='Line' parentYAxis='S' seriesName='用户数量'>
<set value='4' />
<set value='1' />
</dataset>
<dataset renderAs='Line' parentYAxis='S' seriesName='人均消费金额'>
<set value='3.725' />
<set value='3.3' />
</dataset>
</chart>

将拼接好的字符串设置-->

chart1.setDataXML(strXML);

strXML为拼接好的XML字符创

D:render至DIV中

chart1.render("container");  container为html中id为此的div空标签

至此,图表建立完毕,接下来进行图表的导出

2.图表的导出

A:在拼接的字符串中的chart元素中,增加属性exportEnabled='1' exportAtClient='1' exportHandler='fcExporter1'

B:在图表render之后代码下,配置导出图表的对象及按钮样式

var myExportComponent = new FusionChartsExportObject("fcExporter1", "/adminthemes/FusionCharts/FCExporter.swf");  //该flase文件是固定路径,第一个参数要与chart元素属性exportHandler一致
myExportComponent.componentAttributes.btnColor = 'EAF4FD';
myExportComponent.componentAttributes.btnBorderColor = '0372AB';
myExportComponent.componentAttributes.btnFontFace = 'Verdana';
myExportComponent.componentAttributes.btnFontColor = '0372AB';
myExportComponent.componentAttributes.btnFontSize = '12';
//Title of button
myExportComponent.componentAttributes.btnsavetitle = '另存为'
myExportComponent.componentAttributes.btndisabledtitle = '右键生成图片';
myExportComponent.Render("fcexpDiv");

至此,导出亦可以使用,不过有个Bug,当对此调用这个myExportComponent对象时候,第二次将无法使用

对此,我找遍百度也没找到解决方式,最后,自己观察这控件自动生成的代码得出结论,将自动生成的object标签的id更改为第一次载入的时候的id即可,即:

//更改object标签id使之初始化
$("#fcexpDiv object").attr("id","fcExporter1");

只有这样,object标签才会初始化,而通过删除其自动生成的代码并无法正在初始化,原因不明.

最新文章

  1. iOS UILabel根据字符串长度自动适应宽度和高度
  2. 自定义控件--CircleImageView(类似于QQ、微信圆形头像自定义控件)
  3. [windows操作系统]内核性能剖析
  4. Qt_Window@Qt Command Prompt从命令行创建工程
  5. CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1
  6. 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀
  7. 一次U盘安装Ubuntu双系统实录
  8. Java面向对象 集合(上)
  9. removeElement
  10. java类的继承(基础)
  11. .Net 从零开始构建一个框架之基本实体结构与基本仓储构建
  12. linux下拷贝文件夹的时候排除其中的一些目录
  13. numpy 矩阵变换transpose和swapaxes
  14. Vue.js 生态之vue-router
  15. #pragma pack(n)的使用
  16. activiti并行和串行区别
  17. ReentrantLock的原理解析
  18. Android Sqlite 简单SQL语句
  19. C语言程序设计I—第七周教学
  20. 协变返回类型---《C++必知必会》 条款 31

热门文章

  1. Gradle 使用本地的Jar包(gradle oracle ojdbc14 )
  2. android intent和intent action大全
  3. TcpListener 类
  4. ios中属性和对象的初始化
  5. Linux虚拟机中 Node.js 开发环境搭建
  6. [转]MYSQL高可用方案探究(总结)
  7. ionic单页面应用中微信分享的问题总结
  8. Spring Quartz
  9. bzoj 3211: 花神游历各国
  10. php 数据库insert函数