简单的ExtJS饼状图报表。

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

Ext.onReady(function(){
var store = Ext.create('Ext.data.JsonStore', {
fields: ['name', 'data'],
data: [
{ 'name': '北京', 'data': 10 },
{ 'name': '天津', 'data': 5},
{ 'name': '上海', 'data': 8 },
{ 'name': '深圳', 'data': 7 },
{ 'name': '广州', 'data': 6 },
{ 'name': '济南', 'data': 5 },
{ 'name': '郑州', 'data': 4 },
{ 'name': '石家庄', 'data': 3 }
]
});
Ext.create("Ext.panel.Panel",{
width:600,
height:500,
title:"饼状图",
layout:"fit",
renderTo:Ext.getBody(),
items:[{
xtype:"chart",
store:store,
animate:true,
legend: {
position: 'right'
},
series:[{
type:"pie",
field:"data",
donut:true,
showInLegend: true,
label:{
display:"name",
contrast:true,
},
tips:{
trackMouse:true,
renderer:function(storeItem,item){
var total = 0;
store.each(function(rec) {
total += rec.get('data');
});
this.setTitle(storeItem.get("data"));
}
},
highlight:{
segment:{
margin:20
}
},
listeners:{
itemclick:function(o){
var rec=store.getAt(o.index);
alert(rec.get("data"));
}
} }]
}]
});
})

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

示例效果如下图所示:

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

里面的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. 三个重要的游标sp_cursoropen

    請問這三個存諸過程的作用是什么﹖ sp_cursoropen, sp_cursorfetch, sp_cursorclose API 服务器游标实现  SQL Server OLE DB 提供程序. ...

  2. 兼容性之IOS下label 无法点击

    今天做移动端的页面时碰到一个稀奇的问题,那就是点击label无法选中与之相关的checkbox,下面是问题代码: <li class="list-item clearfix notif ...

  3. 做好织梦dedecms安全防护全部方法

    很多同学遇到网站被攻击挂马,大都不是竞争对手所为.多数情况下是黑客利用工具批量扫描入侵的.因此安全防护自关重要. 织梦安装时注意: 修改默认数据库前缀: 在dedecms安装的时候修改下数据库的表前缀 ...

  4. U盘启动时无USB-HDD选项的解决方案

    今天在使用一块老板子的时候 发现没有USB-HDD启动项 在启动顺序中只有 USB-ZIP(ZIP)  -FDD(软盘) -CDROM(光驱) 1.插入U盘 2.开机 3.在BIOS中找到Hard D ...

  5. ACM训练计划step 2 [非原创]

    (Step2-500题)POJ训练计划+SGU 经过Step1-500题训练,接下来可以开始Step2-500题,包括POJ训练计划的298题和SGU前两章200题.需要1-1年半时间继续提高解决问题 ...

  6. 如何查看linux版本

    1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version   Linux version 2.6.9-22.ELsmp (bhcompile@crowe ...

  7. 关于google的C++ coding style

    大家都知道google的开源项目有很多,不过我观察过一些开源项目,觉得代码质量就是这家最好了.这些“教条”式规定的背后是是来自于常年工程经验积累上的理性思考. 为什么好?主要有以下几点: 1.规范,就 ...

  8. 单路CPU性能排名 更新于2015.10.6

    http://itianti.sinaapp.com/index.php/cpu 排名 处理器 图例 分数 1 Intel Xeon E5-2699 v3 @ 2.30GHz 22892 2 Inte ...

  9. 第01讲- Android背景知识

    第01讲Android背景知识 Android是基于Linux系统 Android系统框图 : 第一.操作系统层(OS) 第二.各种库(Libraries)和Android 运行环境(RunTime) ...

  10. ubuntu 14.04 下试用Sublime Text 3

    很多源代码都没有IDE支持的,尤其是开源的源代码.从github上下载的,很多也不用IDE.包括我自己公司的代码,基本都是脚本,也不用IDE.通常情况下,都是用notepad++.UE之类的文本编辑器 ...