主题:指定日期内,不同地区的发布信息的数量的变化曲线

  数据库是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 画折线图的更多相关文章

  1. python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  2. SAS 画折线图PROC GPLOT

    虽然最后做成PPT里的图表会被要求用EXCEL画,但当我们只是在分析的过程中,想看看数据的走势,直接在SAS里画会比EXCEL画便捷的多. 修改起来也会更加的简单,,不用不断的修改程序然后刷新EXCE ...

  3. Matplotlib学习---用matplotlib画折线图(line chart)

    这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...

  4. echars画折线图的一种数据处理方式

    echars画折线图的一种数据处理方式 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  5. 使用OpenCV画折线图

    使用OpenCV画直方图是一件轻松的事情,画折线图就没有那么Easy了,还是使用一个库吧: GraphUtils 源代码添加入工程 原文链接:http://www.360doc.com/content ...

  6. gnuplot画折线图

    之前尝试用jfreechart画自定义横坐标的折线图或时序图,发现很复杂,后来改用gnuplot了. gnuplot在网上一搜就能找到下载地址. 安装完成后,主要是命令行形式的交互界面,至少比jfre ...

  7. 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 ...

  8. echarts入门基础,画折线图

    注意:一定要自己引入echarts库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  9. 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) ...

随机推荐

  1. 05_Python格式化打印

    一般框架 tplt = '' #格式化模板 print(tplt.format(…)) #填充内容 tplt = '{0}-{1}+{2}={3}' {}表示了一个槽,槽里面的内容使用key:valu ...

  2. Python学习日志9月17日 一周总结

    周一,9月11日 这天写的是过去一周的周总结,我从中找出当天的内容. 这天早晨给电脑折腾装机,早晨基本上没有学习,休息了一个早晨. 下午写的上周总结,完事做mooc爬虫课的作业,<Think P ...

  3. java并发编程:Executor、Executors、ExecutorService

    1.Executor和ExecutorService Executor:一个接口,其定义了一个接收Runnable对象的方法executor,其方法签名为executor(Runnable comma ...

  4. PE基础2

    PE课程002 怎么找到Nt头? (PIMAGE_NT_HEADER)(DOS.e_lfanew + (DWORD)m_pBuff) 怎么找到第一个区段表? 区段头位置 = pNt + 4 + 文件头的 ...

  5. 换个语言学一下 Golang (5)——运算符

    运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细看看各个运算符的介绍. 算术运算符 下表 ...

  6. python_109_切片补充和list函数

    #切片补充 a=[1,2,3,4,5,6,7,8] print(a[::2])#隔一个取一个元素 [1, 3, 5, 7] print(a[::-1])#将列表或元祖颠倒过来 [8, 7, 6, 5, ...

  7. leetcode_day1

    1.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样 ...

  8. Mysql,SqlServer,Oracle主键自动增长的设置

    在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: CREATE TABLE google(id INT AUTO_INCREMENT PRIMARY ...

  9. webuploader项目中多图片上传实例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. Mac OS 终端强化美化:iterm2 + zsh + oh~my~zsh 设置教程

    为了获得更好的排版效果,文章改用markdown撰写,故重发一次. 前言 mac自带的terminal终端没有文件名高亮等功能,而且界面不是很好看,故今晚学舍友折腾了终端,可以让自己使用起来更加方便, ...