麻瓜編程·python實戰(zhàn)·4-5作業(yè):把幾個圖表放到django網(wǎng)頁上

我的成果

柱狀圖1
餅狀圖
柱狀圖2

我的代碼

代碼的部分其實不難毅戈,就是挺繁瑣的,東拼拼西湊湊沐悦。
貼一下我的views.py吧:

from django.shortcuts import render
# 調(diào)用modules中的類
from final_45.models import ItemInfo
# 分頁工具 Paginator
from django.core.paginator import Paginator

cate_list = [
'北京二手美容/保健', '北京二手平板電腦', '北京二手文體/戶外/樂器', 
'北京二手家電', '北京二手圖書/音像/軟件', '北京二手母嬰/兒童用品', 
'北京二手設(shè)備', '北京二手數(shù)碼產(chǎn)品','北京二手手機', '北京二手辦公用品/設(shè)備',
 '北京二手服裝/鞋帽/箱包', '北京二手臺式機/配件', '北京其他二手物品',
 '北京二手筆記本', '北京二手家具'
]

# *----------------------發(fā)帖總量柱狀圖----------------------*
def every_cate_post(cate_list):
    post_counts = []
    for i in cate_list:
        data = ItemInfo._get_collection().find({'cates': i}).count()
        post_counts.append(data)
    data = {
        'name': '各個類別',
        'type': 'column',
        'data': post_counts
    }
    return data

series_ch1 = [every_cate_post(cate_list)]

# *----------------------一天內(nèi)交易物品分布:餅狀圖----------------------*
# 按種類分布
def oneday_cates():
    pipeline = [
       {'$match':{'time':1}},
       {'$group':{'_id':{'$slice':['$cates',2,1]},'counts':{'$sum':1}}},
       {'$sort':{'counts':-1}}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        data = [i['_id'][0][4:], i['counts']]
        yield data

series_ch2 = [i for i in oneday_cates()]

# 按地區(qū)分布
def oneday_areas():
    pipeline = [
       {'$match':{'time':1}},
       {'$group':{'_id':{'$slice':['$area',0,1]},'counts':{'$sum':1}}},
       {'$sort':{'counts':-1}}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        data = [i['_id'][0], i['counts']]
        yield data

series_ch3 = [i for i in oneday_areas()]

# *----------------------地區(qū)發(fā)帖量前三----------------------*
def hot_in_areas(area, limit):
    pipeline = [
        {'$match': {'area': area}},
        {'$group': {'_id': {'$slice': ['$cates', 2, 1]}, 'counts': {'$sum': 1}}},
        {'$sort': {'counts': -1}},
        {'$limit': limit}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        data = {
            'name': i['_id'][0],
            'type': 'column',
            'data': [i['counts']]
        }
        yield data

series_LD = [i for i in hot_in_areas('朝陽', 3)]
series_PK = [i for i in hot_in_areas('海淀', 3)]
series_PR = [i for i in hot_in_areas('豐臺', 3)]

# *----------------------文字詳情頁----------------------*
def index(request):
    limit = 10
    iteminfo = ItemInfo.objects  # 提取數(shù)據(jù)
    paginator = Paginator(iteminfo, limit)  # 把提取的數(shù)據(jù)分頁绳军,每頁10個
    page = request.GET.get('page', 1)  # 從request提取出頁碼
    loaded = paginator.page(page)
    content = {
        'ItemInfo': loaded,
        'counts': iteminfo.count(),
    }
    return render(request, 'index3_p1.html', content)

# *----------------------圖表頁----------------------*
def charts(request):
    context = {
        'chart_LD': series_LD,
        'chart_PK': series_PK,
        'chart_PR': series_PR,
        'chart_01': series_ch1,
        'chart_02': series_ch2,
        'chart_03': series_ch3,
    }
    return render(request, 'index3_p2.html', context)

# print(reuqest) == <WSGIRequest: GET'/index/'>
# print(request.GET) == <QueryDict:{}>

值得一提的是:如何讓柱狀圖的每一個柱子不同顏色?如果你只想(能)通過簡單的設(shè)置“參數(shù)”來實現(xiàn)的話匀奏,可以這樣:閱讀'colorByPoint: Boolean'鞭衩。注:在修改JS可行,而在jupyter notebook里面則不行娃善。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末论衍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子聚磺,更是在濱河造成了極大的恐慌坯台,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘫寝,死亡現(xiàn)場離奇詭異蜒蕾,居然都是意外死亡,警方通過查閱死者的電腦和手機焕阿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門咪啡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人暮屡,你說我怎么就攤上這事撤摸。” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵准夷,是天一觀的道長钥飞。 經(jīng)常有香客問我,道長衫嵌,這世上最難降的妖魔是什么读宙? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮楔绞,結(jié)果婚禮上论悴,老公的妹妹穿的比我還像新娘。我一直安慰自己墓律,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布幔亥。 她就那樣靜靜地躺著耻讽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帕棉。 梳的紋絲不亂的頭發(fā)上针肥,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音香伴,去河邊找鬼慰枕。 笑死,一個胖子當(dāng)著我的面吹牛即纲,可吹牛的內(nèi)容都是我干的具帮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼低斋,長吁一口氣:“原來是場噩夢啊……” “哼蜂厅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起膊畴,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤掘猿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后唇跨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稠通,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年买猖,在試婚紗的時候發(fā)現(xiàn)自己被綠了改橘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡政勃,死狀恐怖唧龄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤既棺,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布讽挟,位于F島的核電站,受9級特大地震影響丸冕,放射性物質(zhì)發(fā)生泄漏耽梅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一胖烛、第九天 我趴在偏房一處隱蔽的房頂上張望眼姐。 院中可真熱鬧,春花似錦佩番、人聲如沸众旗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贡歧。三九已至,卻和暖如春赋秀,著一層夾襖步出監(jiān)牢的瞬間利朵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工猎莲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绍弟,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓著洼,卻偏偏與公主長得像樟遣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子身笤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容