jupyter画柱状图

img


我想要画北京市2001到2019的GDP柱状图 然后y轴需要用到北京市这一行的数据 但是不知道怎么定义y轴的数据 用y=data['北京市']吗? 但是总是报错

可以用pyecharts很简单的,这有个例子:
https://blog.csdn.net/u010212101/article/details/105997589

可以参考这篇文章:


希望能帮助到您并且您能采纳,谢谢

一 为了保证数据安全,对需要进行处理的数据进行拷贝。

> db.createCollection('test')
{ "ok" :  }
> show collections
base_url
detail_info
detail_url
test
> db.detail_info.copyTo('test')


二 对数据库中的数据进行处理

  不要想着将数据拿出来,处理完后,在一一对应放到数据库中!

  原本数据库中的地址存储的格式是:北京-昌平,北京-通州,需要拿到具体的某个区。

  在jupyter notebook中进行操作。

  这用到了update方法和$set 操作符。update方法的调用者是 col ,表。

for i in col.find():
    zone_l = (i['zone'].split('-'))
    if len(zone_l)>:
        new_zone = zone_l[]
    else:
        new_zone = '不明'
    col.update({'_id':i['_id']},{'$set':{'zone':new_zone}})

三 从数据库中读到 地址,对地址进行整理。

  这里用到了set集合,和列表的count方法,内置函数zip()。很关键

zones = []
for i in col.find():
   zone.append(i['zone'])
single_zone = list(set(zones))
num = [zones.count(i) for i in single_zone ]
#构建charts要求格式的数据。

def foo():
    l = []
    for zone,n in zip(single_zone,num):
        Data={
            'name':zone,
            'data':[n],
            'type':'column',
        }
        l.append(Data)
    return l
#这里实际上可以用生成器,节省内存。

def foo():
    for zone,n in zip(single_zone,num):
        Data={
            'name':zone,
            'data':[n],
            'type':'column',
        }
        yield Data
l = [ i for i in foo() ] 
#依照固定格式传参

l = foo()
charts.plot(l,show='inline',options=dict(title=dict(text='Beijing')))