数据可视化学习-各种地图构建

构建地图

36e03c2fad664c919c88b21fd4d65980.png

在浏览器里打开 43c1609d6be04463a5fca9f5133b4a6f.jpeg

但是地图没有颜色

设置全局选项,与设置折线图一样先去导包 

bb73718b0fec4fc08371892712b61085.jpeg

 cd0c8b93a29b4b9bbb076e81eca983da.jpeg

就有了颜色63107207b4044186b285187bde791cec.jpeg

 但是左边的范围不准可以手动的设定它的范围d4b9fb4d4d4840b4bbc7e15bf4f36e0b.jpeg

 

50abc4298e614751bd851af9eb73aacb.jpeg

 这分别是三个范围对应了三种颜色a06228ba92d04adf92e1afe4db6717c9.jpeg

颜色有不同的代码(可以进入ab173网站,这里面有个叫前端的按钮,在选项卡里有一个叫RGB颜色对照表,这里有全部的) 

全国疫情地图构建

ae9f18228994451baabab0e65120bfc2.jpeg

初步地图数据,去准备构建地图,通过在上文中提到的map的对象先导包06e3355b0edf41e0873d2be648cee209.jpeg

在下文构建map的地图对象可以通过map.add去添加数据 abe0361b5d054cebb5f351bc8a9c441f.jpeg

当给render设置参数后可以控制我们生成文件的文件名

20e50ac0130d4c0b8d22daf6e7e177ad.jpeg

省级疫情地图 

72329cbe525342f097a35b1004729495.jpeg

9384042629374cbf85dcb91305c8a759.jpeg430d84adbb864e61b11bc07c3985a13d.jpeg

少一个数据手动添加bd258894b6b54cb192cab9dcd3fba066.jpeg

 基础柱状图构建

通过Bar构建基础柱状图

10817dc757ef46a3bf537f1cfa0ef820.jpeg

柱状图可以完成x轴与y轴翻转 

aa202b66ae7546408a0c8a282a0fbf65.jpeg

63de34a8a05f489c9cf3171518ea9d86.jpeg

把这几个数据放到柱状图的右边72363e67d7a5445499807ce846ad1e38.jpeg 

33d89683fb4e4ee68eb5e0292d55532c.jpeg

基础时间线柱状图 

在代码中构建时间线可以通过叫做Timeline的功能,他的导包也来自charts这个模块,把他导入后可以构建时间线对象

注:绘图是用时间线对象绘图,而不是bar对象了0652ea774ff240789fc7f0b93f084f41.jpeg

96a1d250fcee465e918473e5d38e88a3.jpeg

怎么可以自动播放

cd628656d570429e8d9afcc55406f368.jpeg

play_interval表示自动播放的时间间隔单位是毫秒,第二个是否显示时间线,第三个是否自动播放,第四个是否循环播放。

换颜色

d6e2bec44cfd4cfb8f252d3436f7cb64.jpeg

对当前的时间线设置一个主题就行,通过代码在构建时间线的时候给它传入一个字典,这个字典里面有一个key(theme)叫做任务表示的是主题的意思 后面有一个叫任务type点light选择一个主题

在设置主题时:在构建时间线对象的时候在这个括号里面传入一个字典,这个字典有个key叫作主题它的value就是具体选择的主题,注一定在前面导包。65f6cf18eed148078d5dc867d364080a.jpeg当打出ThemeType可以直接去点一下你会发现它里面有很多内容找到喜欢的主题就行59ac411c83d541e39062c109a7966cfe.jpeg2e31f75767b14b74b711616ed553eaa1.jpeg

GDP动态柱状图绘制 

数据容器有一个叫sorted的函数,它可以对容器进行排序,但他没有办法指定排序规则。

列表。sort(key=选择排序依据的函数,reverse=True|False

 key的这个函数的功能是他会把列表的元素传给这个函数然后由这个函数来决定拿到的元素里面的那一部分作为排序的依据然后给它返回出去就可以了                       

reverse表示是否对排序结果进行反转true表示降序排序false表示升序排序

fd228afbe32749b4a43e9177ce2a22fa.jpeg先有一个列表,他是一个嵌套的列表里面又嵌套了一个内层列表如果对他进行排序,排序的依据是后面的数字,这时候sorted就不能用了,sort方法就它需要你给我传一个函数,这个函数的意思就是把每一个元素都给我传进来,然后由我这个函数来决定,我按照元素里面的哪一部分去排序,我们是按照数字排序那就是每个元素的下标1(这里是0,1,2.......这样排的),所以你会发现return元素的下标1,就告诉你按照每一个元素的下标1来进行排序也就是这个数字来进行排序,这样的话我们就指定好了。这里是将my_list里面的数依次代入element返回第二个数字然后比较数字的大小,再通过降序进行排列。92a499639e484d0f802392606acc9527.jpeglambda匿名函数,通过lambda表示我接受一个参数,然后这个参数拿到之后用来决定我按照元素里面哪一部分进行排序,所以拿到这个元素我选择它的下标1,由于lambda自带return功能所以我们也不需要写return直接写element下标1就相当于把它返回出去了

bed292d691cb412c8973a422786c4893.jpeg

完成这个图表

39daf515fa724e5192c964486599f48c.jpeg

先进行数据相关处理

 

0c7255d379d541cea9dcb96f44d820bb.jpeg

split(" , ")[ ]是对文件数据进行切片 ,

任何判断字典里面有没有指定的key(关键信息)结合前面学习的异常的捕获,如果你出现异常了表名[year]里面没有year,如果没有异常表明这里面已经有这个年份了,如果有这个年份数据说明这个list已经存在017f6e9eb12741c4b6d030a9545cb1ee.jpeg

下一步要做的就是调用append来继续追加,给他里面在嵌套一个数据在里面继续加国家和gdp。如果不存在,给year赋值构建一个空的列表在里面在追加一个新列表把国家gdp放进去。998e59bcfe5f463b84268f46f0870612.jpeg 

 下一步每一个时间点就是一个柱状图

我们通过for循环去循环我们的字典,每一年在循环里面都构建出来一个bar,但直接for循环顺序可能被打乱,先把我们字典里面的全部key都取出来,再给他排个序就行了,取出全部的key是不是通过字典对象data字典对象有一个叫做keys的方法,通过keys拿到全部的key然后用sorted函数把他排序一下561b0d23ea1141828113ef47fd243d1a.jpeg

只要gdp前八的国家

把每一年的gdp都排一下序,调用一个sort的方法排序通过lambda决定排序的依据,而gdp在这个列表里面第二个元素,所以下标是1,因为是关键字传参所以要在lambda前加个key 要指定参数名。然后在设置降序。再取出来这一年的list现在是已经排好序了那我们通过序列的切片e6dfa7ee30694eec9c35b84bf0c4a916.jpeg

建立柱状图

 f03f4c0dfe3040cab3acbc36f9794694.jpeg

把x,y轴数据都找好了

注意:这时候要导包fcf7f61afbf949458e0c55c88b725baf.jpeg

构建柱状图对象 71884047ba4b43aeae31b8c22af3da75.jpeg完成之后去设置对应的x,y轴6d91f6a41e664d4ab87e39a651710f80.jpeg

注要设置属性一定不要忘了导包 比如将标签放到右边8d39c06070c243e6b6aa569df50a4024.jpeg

要反转x,y轴,下一步创建一个时间线对象要导包 

3dd810ffec5a4dd3a383d2e307d956ec.jpeg

2fc9a41d91c44e8888d0b31fb4efcae8.jpeg

 8d3faaf266e64450a4e69f77cf88d6b0.jpeg在时间线上先导入bar,再将year转成字符串

下一步要自动播放eccaa4b208ba4f5cacc5e13604fcfb2a.jpeg

运行结果 

38176015c52542bcb4392a1cd82e7d3f.jpeg 

b8a886401d484b99b119b26a03620529.jpeg 

将将x,y轴都翻转一下 

f32ed9ab063947739b0a2e11bfc31fff.jpeg

要设置主题在构建时间线的时候修改它 还要导包(看上文)设置标题同理

fb540a9772db4aa8910da1b5d73f1dae.jpeg

71d52906eac7436692521137bbcd7439.jpeg 

c27292b3c01f44e4b880e4234bc29633.jpeg 

7bf34b62c89b4c179f10c0f05dda909e.jpeg 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值