charts 画折线图
主题:指定日期内,不同地区的发布信息的数量的变化曲线
数据库是mongod
数据是58同城的发布的信息
整体思路:
1由于从数据库中拿到的数据,格式等方面并不一样能完全满足需求,需要对数据库中的数据进行整理
2 更新数据库
3 数据可视化
出发点:
从哪天开始,到哪天结束
具体区域
追求点:
以上区域在 限定时间内的发帖变化。
part1:拿到截止天和开始天之间的每一天。
为什么把这个功能单独拿出来作为一个函数?
because 后面生成图表是,横坐标是 每一天。
所以,这样设计是有意义的。
这里用到datetime模块中的date,timedelta,和strftime方法。
def get_all_date(date1,date2):
delta = timedelta(days=)
d1 = date(int(date1.split('-')[]),int(date1.split('-')[]),int(date1.split('-')[]))
d2 = date(int(date2.split('-')[]),int(date2.split('-')[]),int(date2.split('-')[]))
while d1<=d2:
yield d1.strftime('%Y-%m-%d')
d1 += delta
part2:使用find函数查找指定数据
def get_one_area_one_date(area,date1):
return col.find({'area':area,'pub_date':date1}).count() 实际上这个函数,可以用aggregate,$group,更简单,更迅速的实现。
from datetime import date,timedelta def get_one_area_many_date(area,date1,date2):
delta = timedelta(days=)
d1 = date(int(date1.split('-')[]),int(date1.split('-')[]),int(date1.split('-')[]))
d2 = date(int(date2.split('-')[]),int(date2.split('-')[]),int(date2.split('-')[]))
while d1<=d2:
yield col.find({'area':area,'pub_date':d1.strftime('%Y-%m-%d')}).count()
d1 += delta
def get_many_area_many_date(areas,date1,date2):
for area in areas:
yield {'name':area,'data':[i for i in get_one_area_many_date(area,date1,date2)],'type':'line'}
part3: 转化数据
最终显示:
import charts
options = {
'title':{
'text':'发帖量统计'
},
'subtitle':{
'text':'北京地区'
},
'chart':{
'zoomType':'xy',
},
'xAxis':{
'categories':[i for i in get_all_date('2015-11-01','2016-01-10') ] #这便是用到的第一个函数,坐标值,每一天。是在这里。
},
'yAxis':{
'title':{
'text':'数量'
}
}
}
charts.plot(ll,show='inline',options=options)

charts 画折线图的更多相关文章
- python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
- SAS 画折线图PROC GPLOT
虽然最后做成PPT里的图表会被要求用EXCEL画,但当我们只是在分析的过程中,想看看数据的走势,直接在SAS里画会比EXCEL画便捷的多. 修改起来也会更加的简单,,不用不断的修改程序然后刷新EXCE ...
- Matplotlib学习---用matplotlib画折线图(line chart)
这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...
- echars画折线图的一种数据处理方式
echars画折线图的一种数据处理方式 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...
- 使用OpenCV画折线图
使用OpenCV画直方图是一件轻松的事情,画折线图就没有那么Easy了,还是使用一个库吧: GraphUtils 源代码添加入工程 原文链接:http://www.360doc.com/content ...
- gnuplot画折线图
之前尝试用jfreechart画自定义横坐标的折线图或时序图,发现很复杂,后来改用gnuplot了. gnuplot在网上一搜就能找到下载地址. 安装完成后,主要是命令行形式的交互界面,至少比jfre ...
- python的turtle模块画折线图
代码如下: import turtle yValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6] def main(): t = turtle.Turtle() t.hidet ...
- echarts入门基础,画折线图
注意:一定要自己引入echarts库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- python用matplotlib画折线图
折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...
随机推荐
- A*算法研究
许多工业与科学计算问题都可以转化为在图中寻路问题.启发式的寻路方法将问题表示为一个图,然后利用问题本身的信息,来加速解的搜索过程.一个典型的例子是有一些通路连接若干城市,找出从指定起点城市到指定终点城 ...
- 迅为10.1寸人机界面工业HMI安卓电容屏定制生产供应商
10.1寸人机界面介绍: 配置铁电存储器:非易失性记忆体,掉电后数据不丢失. 连接云端,支持云服务:数据综合管理,更有效率. 静电防护技术:高强度抗干扰,防静电,防电磁干扰. 提供所有接口的调用源码, ...
- 字符串赋值方式理解 sizeof 和strlen的一些区别
#include<stdio.h>#include<string.h> int main(){ int a,i=0; char ch[10000]; while(scanf( ...
- 用valgrind检查内存问题
Valgrind Valgrind作为一个免费且优秀的工具包,平时大部分人可能都是使用valgrind检测内存问题,如内存泄露,越界等. Valgrind工具包包含多个工具,如Memcheck,Cac ...
- charles连接手机抓包--------最详细的步骤
首先确保电脑和手机连接到同一个热点上 电脑连接热点以后,首先打开Charles设置Charles的setting port一般都默认8888 Enable transparent HTTP proxy ...
- 为什么JS是单线程?JS中的Event Loop(事件循环)?JS如何实现异步?setimeout?
https://segmentfault.com/a/1190000012806637 https://www.jianshu.com/p/93d756db8c81 首先,请牢记2点: (1) JS是 ...
- 系统学习爬虫_2_urllib
什么是urllib urlopen urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cad ...
- (20)zabbix触发器triggers
触发器是什么 触发器(triggers)是什么?触发器使用逻辑表达式来评估通过item获取到得数据是处于哪种状态,item一收回数据,讲解任务交给触发器去评估状态,明白触发器是怎么一回事了把?在触发器 ...
- (10)zabbix item key详解
1. 灵活的参数 参数位置可用接收任意参数则是灵活的.例如vfs.fs.size[*],”*”星号可以使用任意的参数,例如:vfs.fs.size[/]vfs.fs.size[/opt] 2. Key ...
- PowerShell-第2章 管道
2.1 过滤列表项或命令输出项 列出所有正在运行进程名称中包含"search"的进程,对进程名字属性使用-like操作符来比较进程的Name属性 Get-Process | Whe ...