視頻重點(diǎn)
練習(xí)代碼
擴(kuò)展
1. 視頻重點(diǎn)
-
from datetime imort timedelta,date處理日期。第一步:統(tǒng)一日期格式。第二步:轉(zhuǎn)換數(shù)據(jù)。
for i in item_info.find():
frags = i['pub_date'].split('-')
if len(frags) == 1:
date = frags[0]
else:
date = '{}.{}.{}'.format(frags[0],frags[1],frags[2])
item_info.update_one({'_id':i['_id']},{'$set':{'pub_date':date}})
- 用兩個for循環(huán)來實(shí)現(xiàn)每一x坐標(biāo)上的y軸數(shù)據(jù)
def get_data_within(date1,date2,areas):
for area in areas: #每一地區(qū)下(對應(yīng)不同折線)
area_day_posts = []
for date in get_all_dates(date1,date2):#x軸的數(shù)據(jù),兩個日期間的每一個日期
a = list(item_info.find({'pub_date':date,'area':area}))#將兩個for迭代出的數(shù)據(jù),作為find參數(shù),找到數(shù)據(jù)
each_day_post = len(a)#統(tǒng)計(jì)數(shù)據(jù)個數(shù),即y軸發(fā)帖量
area_day_posts.append(each_day_post)
data = {
'name': area,
'data': area_day_posts,#與上次的柱狀體不同,是描述name的一組數(shù)據(jù)
'type': 'line'
}
yield data
- charts圖表中折線圖,option的含義
charts.plot(series, options=options,show='inline')options時plot方法的參數(shù)之一,定義
options = {
'chart' : {'zoomType':'xy'},
'title' : {'text': '發(fā)帖量統(tǒng)計(jì)'},
'subtitle': {'text': '可視化統(tǒng)計(jì)圖表'},
'xAxis' : {'categories': [i for i in get_all_dates('2015.12.24','2016.01.05')]},
'yAxis' : {'title': {'text': '數(shù)量'}}
}
作為plot方法的傳遞參數(shù)
2. 練習(xí)代碼

3-3homework.jpg
3. 擴(kuò)展
find函數(shù)的用法
操作符$in和$slice
timedelta函數(shù)
find參數(shù)1,找誰,參數(shù)2,返回什么數(shù)據(jù),用0和1來控制不顯示跟顯示
不會更改原來的數(shù)據(jù)結(jié)構(gòu)
條件操作符$in 分片$slice