在python中实现数据生成饼图,并且饼图要显示在HTML页面中
2013-11-22 17:49
1011 查看
我找了很多的资料,包括python的各种库,但是生成的都是饼图这样的jpg,png,svg等图片的格式,或者就是作为一个新的窗口弹出页面,这样,并不能实现我想要的结果,所以,我找了其他的办法
同事给我说了ExtJS这个框架,我下载配置之后,发现功能真的很强大呀,
根据上边提示的例子我自己写了一下:
这样就实现了这样的功能,可是还是有一个问题,就是这样子,我最多只能写入五组数据,如果超出了,就会出错,没有显示的结果了,
我一直都找不出来原因,忘各位大神看到后知道的请赐教呀!小妹在这里谢过了!
同事给我说了ExtJS这个框架,我下载配置之后,发现功能真的很强大呀,
根据上边提示的例子我自己写了一下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" /> <script type="text/javascript" src="../adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../ext-all.js"></script> <script> Ext.onReady(function(){ var data=[ {name:'<$100',ot:33.33}, {name:'$100-500',ot:44.87}, {name:'$500-1000',ot:11.54}, {name:'$1000-5000',ot:9.62}, {name:'$5000-1000',ot:0.64} //{name:'和八',ot:77} ]; var store=Ext.create('Ext.data.Store',{ fields:['name','ot'], autoLoad:true, proxy:'memory', data:data }); //store.loadData(data(6, 20)); var chart3=Ext.create('Ext.chart.Chart',{ renderTo:Ext.getBody(), xtype: 'piechart', animate:true, store:store, layout: 'fit', width:500, height:400, shadow: true, legend: { position: 'right' //定位 }, insetPadding: 30, highlightDuration: 200, theme: 'Base:gradients', series: [{ type:'pie', //统计图的类型 field:'ot', //根据ot字段来分扇区的大小 showInLegend: true, //colorSet: ['#4EEE94','#63B8FF','#836FFF','#8A2BE2','#7FFF00','#FF0000'], label: { field: 'name', //扇区里显示的字段 display: 'rotate', contrast: true, font: '12px Arial' }, tips: { trackMouse: true, width:140, height:28, renderer: function(storeItem, item) { var total = 0; store.each(function(rec) { total += rec.get('ot'); }); this.setTitle(storeItem.get('name') + ':' + Math.round(storeItem.get('ot') /total * 100) + '%'); } }, //tip结束 highlight:{ segment:{ margin:20 //扇区的margin } }, donut: 40 }] }) }); </script> </head> <body> </body> </html> </body> </html>
这样就实现了这样的功能,可是还是有一个问题,就是这样子,我最多只能写入五组数据,如果超出了,就会出错,没有显示的结果了,
我一直都找不出来原因,忘各位大神看到后知道的请赐教呀!小妹在这里谢过了!
相关文章推荐
- Python源码分析
- [转]浅谈Python web框架
- SimpleClass:Python之面向对象编程
- Python数据库连接池实例——PooledDB
- 输出文件中不包含指定的多个排除词的行内容(双重遍历) 分类: python 小练习 2013-11-22 15:20 605人阅读 评论(0) 收藏
- python字符串连接的N种方式
- Python特殊语法:filter、map、reduce、lambda
- 1.2、安装Django-1.5.1及所需要的Python2.74环境
- Python 模块之 ConfigParser: 用 Python 解析配置文件
- 设置ie代理
- 删除指定路径根目录所有文件-python
- word文档转换为txt-python
- eml邮件格式转换为html-python
- Python中的异常
- python 多进程之管道实例(模板)
- 使用 Python 设置数据的路径
- CGI公共网关接口 Python
- Python计算器小程序及文件IO
- python版春节倒计时实时显示
- python版春节倒计时实时显示