关于Mongodb数据库的连接,直接上代码:
- client = MongoClient('mongodb://localhost:27017')
- spring = client.spring
- collection = spring['orders']
以上代码的意思就是连接本地Mongodb-spring数据库-orders文档集合。
Pyecharts
Pyecharts(http://pyecharts.org)是大名鼎鼎的Echarts的Python可视化图表库,用起来挺顺手的,而且文档规范,基本上可以零门槛入门,具体实现请移步文档。
这里介绍一下关于Pyecharts的图表样式配置,为了保持各图表的样式统一(偷懒),Pyecharts提供了一个Style类,可用于在同一个图或者多个图内保持统一的风格。
- from pyecharts import Style,Geo
-
- style = Style(
- title_color="#fff",
- title_pos="center",
- width=1100,
- height=600,
- background_color='#404a59'
- )
- # style.init_style 会返回类初始化的风格配置字典
- geo = Geo("全国主要城市空气质量", "data from pm2.5", **style.init_style)
这样,就创建了一个Geo地理坐标系图表。
代码解读
因为全部代码有点长,所以抽了一段举个例子,主要思路就是从Mongodb取出指定数据,或者通过$group管道对数据进行处理,最后通过pyecharts生成相应的图表,呈现:
- from pymongo import MongoClient
- from pyecharts import Style,GeoLines
-
- def getLines(self):
- # 连接数据库
- client = MongoClient('mongodb://localhost:27017')
- spring = self.client.spring
- collection = self.spring['orders']
-
- # Mongodb的操作,$match-筛选出'from_poi.city.city_name'为'杭州'的文档,
- # 再通过$group管道,按照目标城市统计出汇总数量
- line_hangzhou = collection.aggregate([
- {'$match': {'from_poi.city.city_name': '杭州'}},
- {'$group': {'_id': '$to_poi.city.city_name', 'count': {'$sum': 1}}}
- ])
- # 按照Geolines图表的数据格式格式化数据
- line_hangzhou_ = []
- for line in line_hangzhou:
- line_hangzhou_.append(["杭州", line['_id'], line['count']])
-
- # 创建一个GeoLines图表
- citylines = GeoLines("春节迁移路线图", **style.init_style)
- # 添加数据以及样式
- citylines.add("从杭州出发",
- line_hangzhou_,
- **geo_style)
- # 生成html文件
- citylines.render("results/citylines.html")
后记
这是一篇迟到很久的文章,本来没打算再写,但是总觉得下半部分没写完心里有个结,所以还是抽时间补上。另外作为一个非专业技术人员,多记多练免得过几天自己就忘了。
【编辑推荐】
- 新闻联播也可以拿来做数据分析?
- 15分钟,教你用Python爬网站数据,并用BI可视化分析!
- 数据分析惯用的5种思维方法
- 你愿意花十分钟系统了解数据分析方法吗?
- 四种大数据分析方法与大家分享
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0 (编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|