简单的ExtJS饼状图报表。

先上源码,咱再慢慢解析:

  1. Ext.onReady(function(){
  2. var store = Ext.create('Ext.data.JsonStore', {
  3. fields: ['name', 'data'],
  4. data: [
  5. { 'name': '北京', 'data': 10 },
  6. { 'name': '天津', 'data': 5},
  7. { 'name': '上海', 'data': 8 },
  8. { 'name': '深圳', 'data': 7 },
  9. { 'name': '广州', 'data': 6 },
  10. { 'name': '济南', 'data': 5 },
  11. { 'name': '郑州', 'data': 4 },
  12. { 'name': '石家庄', 'data': 3 }
  13. ]
  14. });
  15. Ext.create("Ext.panel.Panel",{
  16. width:600,
  17. height:500,
  18. title:"饼状图",
  19. layout:"fit",
  20. renderTo:Ext.getBody(),
  21. items:[{
  22. xtype:"chart",
  23. store:store,
  24. animate:true,
  25. legend: {
  26. position: 'right'
  27. },
  28. series:[{
  29. type:"pie",
  30. field:"data",
  31. donut:true,
  32. showInLegend: true,
  33. label:{
  34. display:"name",
  35. contrast:true,
  36. },
  37. tips:{
  38. trackMouse:true,
  39. renderer:function(storeItem,item){
  40. var total = 0;
  41. store.each(function(rec) {
  42. total += rec.get('data');
  43. });
  44. this.setTitle(storeItem.get("data"));
  45. }
  46. },
  47. highlight:{
  48. segment:{
  49. margin:20
  50. }
  51. },
  52. listeners:{
  53. itemclick:function(o){
  54. var rec=store.getAt(o.index);
  55. alert(rec.get("data"));
  56. }
  57. }
  58.  
  59. }]
  60. }]
  61. });
  62. })

上述代码便是一个简单的饼状图,数据这里我采用的是本地数据。

示例效果如下图所示:

现在我们来解析一下上面的代码:

里面的store存储数据,这里我就不详细解释了。我这里采用的是本地的数据。

如效果图所示,我采用了一个panel来包含该饼状图。

xtype:"chart" :创建一个图表

series:是为所有图标系列包含公共逻辑抽象类。属性type:"pie",用来表示采用的是饼状报表。

field:"data":当前饼状图块中的数据值。

display:"name":如上图所示,是用来显示饼状图中的文字的。

tips:这里是用来显示鼠标放在饼状图上的时候,给你的一个提示。用来显示当前图块的信息。

trackMouse:true:此属性设置为true表示提示框跟随你的鼠标而动。

segment:该属性是用来控制,当鼠标放在当前图块中的时候分开的距离。这里margin一般为20 当数值比20 大或者小的时候则会出现一些空白。具体效果可以自己稍微尝试一下。

lengend和showInLegend:这两个必须同时设置,操作右侧的小图例。

itemclick:点击事件。这个事件需要设置在series中,否则无法触发。

以上是我对这个饼状图的一些个人理解。如有什么不足还请各位大神指教。

ExtJS 饼状图报表的更多相关文章

  1. C#+JQuery+.Ashx+百度Echarts实现全国省市地图和饼状图动态数据图形报表的统计

    在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界 ...

  2. 一款基于jQuery饼状图比例分布数据报表

    今天给大家带来一款基于jQuery饼状图比例分布数据报表.这款报表插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览  ...

  3. Java-jfree报表(学习整理)----饼状图、柱状图、折线统计图

    1.使用的报表工具: jfree报表 2.下载网址: http://www.jfree.org/ 下载之后先解压:如下图 下载后:需要的jar包!如下图: 打开:找到以下的两个jar包 再导入开发项目 ...

  4. ECharts 报表事件联动系列四:柱状图,折线图,饼状图实现联动

    代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  5. extjs开发———用extJS简单写一个饼状图

    先上效果图: js编写部分简单如下,先插入一个模块,然后给模块中添加内容. var myChart1 = echarts.init(document.getElementById('myChart1' ...

  6. 使用jfreechart生成柱状图、折线图、和饼状图

    JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...

  7. Echarts动态加载饼状图实例(二)

    一.引入echarts.js文件(下载页:http://echarts.baidu.com/download.html) 二.HTML代码: <div class="ui-contai ...

  8. Echarts动态加载饼状图的实例

    一.引入echarts.js文件(下载页:http://echarts.baidu.com/download.html) 二.HTML代码: <div style="width: 10 ...

  9. 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP

    虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下 ...

随机推荐

  1. hdu5338 ZZX and Permutations(贪心、线段树)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud ZZX and Permutations Time Limit: 6000/300 ...

  2. WCF+AJAX最佳实践

    本文是基于Frank Xu的一个webcast上的串并总结,图片等都截至视频,谨致谢. 路线图 什么是WCF Windows Communication Foundation是MS为构建面向服务的应用 ...

  3. Effective Java 电子书 apk版本下载

    下载安装包以后,安装即可阅读该书了,并且实时展示每章节代码哦,并且可以运行哦,赶快下载体验吧. Effective Java中文第二版下载地址:下载 应用截图:

  4. 数据链路层-点对点协议PPP

    在通信质量较差的年代,在数据链路层使用可靠传输协议曾是一个好的办法.因此,能实现可靠传输的高级数据链路控制HDLC(High-Level Data Link Control)就称为当时比较流行的数据链 ...

  5. PHP接收JSON格式的数据

    在API服务中,目前流行采用json形式来交互. 给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据. ...

  6. Hdu1096

    #include <stdio.h> int main() { int T,n; ; while(scanf("%d",&T)!=EOF){ while(sca ...

  7. 如何用googletest写单元测试

    http://www.uml.org.cn/c++/201203293.asp googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows.linux.Mac等OS平台 ...

  8. [Codeforces Round #186 (Div. 2)] B. Ilya and Queries

    B. Ilya and Queries time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  9. js各种进制数之间的转换

    计算机中常用的进制数有二进制.八进制.十进制.十六进制 一.十进制 to 其他 var x = 10; // 或定义其他值均可 x.toString(n); // n 代表要转换到的进制,比如n可以为 ...

  10. hdu 3339 In Action

    http://acm.hdu.edu.cn/showproblem.php?pid=3339 这道题就是dijkstra+01背包,先求一遍最短路,再用01背包求. #include <cstd ...