一 前言:

在项目实施中,设计统计部分经常会使用图表进行显示,在Extjs3中内置了图表控件,但实际表现无法达到3D的美观效果,通过查找FusionChart可以实现比较美观的3D或2D图表显示。
 注:FusionChart是个商业图表,不过有免费版本使用.官方网站:http://www.fusioncharts.com/
二 实现方法
 1:在Extjs中使用FusionChart需要使用到第三方插件uxChartPack(目前版本2.13,下载地址:http://code.google.com/p/uxmedia/downloads/list),在使用FusionChart前,页面中需要引用uxmedia.js uxflash.js uxchart.jsuxfusion.js四个文件。
 2:代码举例:
  笔者使用的是弹出式窗体显示Chart方式:
 function _Count()
{
var mk=new Ext.LoadMask(Ext.getBody(),{
msg:'正在加载数据,请稍候!',
removeMask:true//完成后移除
});
mk.show();
Ext.Ajax.request(
{
url:"CountFileManager.asp?FileCtype=30",  //后台返回Chart需要的数据
success:function (response)
{
var Result=Ext.decode(response.responseText);
if(Result.flag!=0)
{
;
}else if(Result.flag==0)
{
var strXml=Result.strXML;
strXml="<chart caption='发布文件统计'subCaption='按发布单位统计' xAxisName='单位' yAxisName='文件数' rotateYAxisName='1' showValues='1' decimalPrecision='0' showNames='1' baseFontSize='12' outCnvBaseFontSiz='20'numberSuffix=' 个'  pieSliceDepth='30'formatNumberScale='0'>"+strXml+"</chart>"; //构造FusionChart需要的XML格式数据,这里面属性,可参考官方文件。
var fusionPanel=new Ext.ux.Chart.Fusion.Panel({
collapsible:false,
chartCfg:{
id:'chart1',
params:{
flashVars:{
debugMode:0,
lang:'EN'
}
}
},
autoScroll:true,
id:'chartpanel',
chartURL:'charts/Column3D.swf',//定义图表显示类型,例如:直方,饼图等 dataXML:strXml,
width:500,
height:310
});
var Fwin=new Ext.Window(
{
name:'Fwin',
width:'520',
height:'330',
layout:'fit',
closeAction:'close',
title:'统计图表显示',
buttonAlign:'center',
resizable:true,
modal:true,
items:[fusionPanel],
buttons:[
{
text:'退出',
iconCls:'icon_exit',
handler:function(){Fwin.close();}
}]
});
mk.hide();
Fwin.show();
}
},
failure:function (response)
{
mk.hide();
Ext.Msg.alert("提示","服务器请求错误,请稍后再试!");
}
});
}
服务器端返回字符:
{success:true,flag:0,strXML:"<set name='动力TEAM' value='1' /><set name='行政人事部' value='1' /><set name='研发中心' value='117' /><set name='运管部' value='38' /><set name='制造部' value='34' /><set name='资产财务部' value='1' />'"}


   这里面要注意:页面文件保存为utf-8格式,可消除中文乱码现象,不同FusionChart版本,在Y轴方向存在显示中文BUG,目前3.1版本可解决中文乱码问题(注意是Y轴标签进行了旋转,如上述的rotateYAxisName='1'属性,当然也可rotateYAxisName='0',不进行旋转,可保证Y轴中文正常显示)
三、部分FusionChart属性说明:(转摘至其他网站,供参考!)
FusionCharts参数说明
功能特性
animation                  是否动画显示数据,默认为 1(True)
showNames                  是否显示横向坐标轴(x轴)标签名称
rotateNames              是否旋转显示标签,默认为0(False):横向显示
showValues                 是否在图表显示对应的数据值,默认为1(True)
yAxisMinValue              指定纵轴(y轴)最小值,数字
yAxisMaxValue               指定纵轴(y轴)最小值,数字
showLimits                 是否显示图表限值(y轴最大、最小值),默认为1(True)
showColumnShadow     是否显示各条形图间的阴影(若柱面图在一起并列的话)
showAlternateHGridColor 是否隔行显示不同颜色
图表标题和轴名称
caption                  图表主标题
subCaption                  图表副标题
xAxisName                  横向坐标轴(x轴)名称
yAxisName                  纵向坐标轴(y轴)名称
imageSave='1'      是否保存图片
imageSaveURL='Path/FusionChartsSave.jsp '图片路径
hoverCapSepChar=','。鼠标放到柱面上时显示的提示信息的分隔符
showhovercap='1'        鼠标放到柱面上时是否显示提示信息 
hoverCapBgColor=‘ffffff’提示信息背景颜色
图表和画布的样式
bgColor                  图表背景色,6位16进制颜色值
canvasBgColor              画布背景色,6位16进制颜色值
canvasBgAlpha              画布透明度,[0-100]
canvasBorderColor           画布边框颜色,6位16进制颜色值
canvasBorderThickness        画布边框厚度,[0-100]
shadowAlpha              投影透明度,[0-100]
showLegend                  是否显示系列名,默认为1(True)
字体属性
baseFont                  图表字体样式
baseFontSize              图表字体大小
baseFontColor              图表字体颜色,6位16进制颜色值
outCnvBaseFont              图表画布以外的字体样式
outCnvBaseFontSize           图表画布以外的字体大小
outCnvBaseFontColor        图表画布以外的字体颜色,6位16进制颜色值
分区线和网格
numDivLines              画布内部水平分区线条数,数字
divLineColor              水平分区线颜色,6位16进制颜色值
divLineThickness           水平分区线厚度,[1-5]
divLineAlpha              水平分区线透明度,[0-100]
showAlternateHGridColor    是否在横向网格带交替的颜色,默认为0(False)
alternateHGridColor        横向网格带交替的颜色,6位16进制颜色值
alternateHGridAlpha        横向网格带的透明度,[0-100]
showDivLineValues           是否显示Div行的值,默认??
numVDivLines              画布内部垂直分区线条数,数字
vDivLineColor              垂直分区线颜色,6位16进制颜色值
vDivLineThickness           垂直分区线厚度,[1-5]
vDivLineAlpha              垂直分区线透明度,[0-100]
showAlternateVGridColor    是否在纵向网格带交替的颜色,默认为0(False)
alternateVGridColor        纵向网格带交替的颜色,6位16进制颜色值
alternateVGridAlpha        纵向网格带的透明度,[0-100]
数字格式
numberPrefix              增加数字前缀
numberSuffix               增加数字后缀    % 为 '%' /(吨)为‘(吨)’(Server.UrlEncode编码)
formatNumberScale       是否格式化数字,默认为1(True),自动的给你的数字加上K(千)或M(百万);若取0,则不加K或M
decimalPrecision           指定小数位的位数, [0-10]    例如:='0' 取整
divLineDecimalPrecision    指定水平分区线的值小数位的位数, [0-10]
limitsDecimalPrecision       指定y轴最大、最小值的小数位的位数,[0-10]
formatNumber              逗号来分隔数字(千位,百万位),默认为1(True);若取0,则不加分隔符
decimalSeparator           指定小数分隔符,默认为'.'
thousandSeparator           指定千分位分隔符,默认为','
Tool- tip/Hover标题
showhovercap              是否显示悬停说明框,默认为1(True)
hoverCapBgColor           悬停说明框背景色,6位16进制颜色值
hoverCapBorderColor        悬停说明框边框颜色,6位16进制颜色值
hoverCapSepChar           指定悬停说明框内值与值之间分隔符,默认为','
折线图的参数
lineThickness              折线的厚度
anchorRadius              折线节点半径,数字
anchorBgAlpha              折线节点透明度,[0-100]
anchorBgColor              折线节点填充颜色,6位16进制颜色值
anchorBorderColor           折线节点边框颜色,6位16进制颜色值
Set标签使用的参数
value                      数据值
color                      颜色
link                     链接(本窗口打开[Url],新窗口打开[n-Url],调用JS函数[JavaScript:函数])
name                     横向坐标轴标签名称
showFCMenuItem='0' 设置右键显示不显示
1. varmyChart=newFusionCharts("../FusionCharts/FCF_Column3D.swf", "myChartId","600", "
500");
第一个参数是SWF 文件的地址。
第二个是图形的id。这个id 你可以随便叫什么,但是要注意,在后面我们讲到一个页面里有
多个图形的时候,这个id 一定要是唯一的。
第三个参数是图形的宽。
第四个参数是图形的高。
我们还要设置数据文件的地址。
1. myChart.setDataURL("Data.xml");
最后,我们把图形渲染在指定的地方。
1. myChart.render("chartdiv");
"chartdiv"就是前面的DIV 的id,这就表示把图形render 到"chartdiv"。
现在你运行JSChart.html,你会看到同Chart.html 一样的效果。很显然使用JavaScript加载
图形,更方便,更直观。
如果你想在一个新的窗口打开页面,只需要在连接的前面加上“n-”,就像下面的代码一样:
1. <graph caption='Monthly Sales Summary'subcaption='For the year 2006 '
2. xAxisName='Month' yAxisName='Sales'numberPrefix='$'>
3. <set name='Jan' value='1 7400'link='n-DemoLinkPages/DemoLink1.html' color='AFD8F8'/>
XML数据节点和常用属性详解
caption=‘标题‘
subcaption=‘子标题‘
clickURL=‘abc.jsp‘ 点击整个图表时跳转到abc.jsp
xAxisName=部门‘
numberPrefix =‘¥’ 数据前缀单位
numberSuffix =‘个’ 数据后缀单位 
Decimals=‘2’ 保留两位小数,四舍五入
forceDecimals=‘2’ 强制保留两位小数,对于5.1转换为5.10 
yAxisName=‘完成率’ 
如果使用汉字汉符需加属性:rotateYAxisName=‘1’
showValues=‘1’
yAxisMaxValue=‘100’ 
对于百分比的常用bgColor='999999,FFFFFF‘
渐变bgColor=‘999999 ’ 单色
useRoundEdges=‘1’ 光线效果
baseFont=‘宋体‘
baseFontSize='12' 
baseFontColor='333333'

Extjs中使用FusionChart举例相关推荐

  1. [转]ExtJs中使用中碰到的三个问题的解决方法

    这里的经验不是指对这种框架总体上面的一些介绍,只是记录了本月中使用ExtJs中遇到的3个问题的解决方法,这里还是要感谢Extjs论坛的 Animal和Condor,每次在我遇到拦路虎的时候,总能在他俩 ...

  2. ExtJs中column与form布局的再次领悟

    前段时间转了一篇有关于ExtJs中column与form的布局问题(可以参考这篇文章http://sucre.blog.51cto.com/1084905/884279 ),今天在设计页面时又用到了这 ...

  3. 28. extjs中Ext.BLANK_IMAGE_URL的作用

    转自:https://blog.csdn.net/yiyuhanmeng/article/details/6960132 在使用ExtJS时,我们往往需要在使用之前加入这么一句: Ext.BLANK_ ...

  4. 解决Extjs中Combobox显示值和真实值赋值问题

    用过Extjs的朋友相信都知道在Extjs的Combobox组件中是由两个值来组成的.一个是displayField这个是用来显示给我们看 的,而另一个是真正给系统用的valueField,举个例子会 ...

  5. extjs中元数据_Extjs中Store小总结

    http://blog.csdn.net/without0815/article/details/7798170 1.什么是store? Store类似于一个本地仓库(即数据存储器),包括有 Arra ...

  6. Extjs中给同一个GridPanel中的事件添加参数的方法

    Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({             text:'启用',             sco ...

  7. ExtJs中Store简介(秘籍)

    ExtJs中Store简介(秘籍) 1.什么store? Store类似于一个本地仓库(即数据存储器),包括有 ArrayStore,DirectStore,GroupingStore,JsonSto ...

  8. Extjs中三种不同的数据提交方式

    Extjs中三种不同的数据提交方式 Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn ...

  9. matlab 函数优化问题,matlab求解最优化问题 Matlab在最优化问题中的应用举例.doc

    matlab求解最优化问题 Matlab在最优化问题中的应用举例 导读:就爱阅读网友为您分享以下"Matlab在最优化问题中的应用举例"的资讯,希望对您有所帮助,感谢您对92的支持 ...

最新文章

  1. 01-mybatis源码阅读
  2. 从VMware ESX Server 4升级到ESXi 5
  3. ★Kali信息收集~★6.Dmitry:汇总收集
  4. python 函数参数 (必选参数、默认参数、可选参数、关键字参数)
  5. 中小企业项目的痛VS感人IT团队
  6. Spring Boot中@ConfigurationProperties与@PropertySource的基本使用(读取指定的properties文件)
  7. 西瓜书《机器学习》决策树IDW3, C4.5公式推导
  8. nginx启动只有master没有worker_深入探索Nginx工作原理
  9. 计算机控制的液压提升,LSD液压提升系统(2008).doc
  10. python聊天室设计_基于python的GUI聊天室设计
  11. 请问ECSHOP首页站内快讯在哪里添加和修改?
  12. 技术是如何创造价值的
  13. 移动端安卓vin码/车架号识别
  14. mysql的number范围_数据库number类型精度实用分析
  15. 茎叶图、箱图是什么,如何用SPSS实现?(图文)
  16. 机器学习入门,转载博文,转自 飞鸟各投林
  17. SAS(十二)PROC步
  18. redis的三大模式主从,哨兵和集群
  19. 晶体(晶体谐振器)和晶振(晶体振荡器)的区别
  20. java实现销售预测算法,预测5天销售

热门文章

  1. cmd使用另一个Oracle的sid,(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID”的解决办法...
  2. 虚拟化运维工具医院解决方案
  3. 计算机科学学院陈瑜,浙江大学城市学院计算机与计算科学学院 计算机科学与技术 陈则伦...
  4. 内连接查询的重点分析
  5. 硬件知识:USB3.0和USB2.0的区别,看完你就懂了!
  6. 前端:Element UI 多选框组用法笔记
  7. 计算机网络:TCP和UDP的对比
  8. MongoDB常用语句
  9. js打开android应用程序,浏览器通过JS打开Android程序
  10. linux网络编程、socket编程