Python学习第十课(pyecharts,数据可视化的好工具)
可视化,不仅仅只有GUI
上一节课,我们为天气小爬虫制作了属于自己的查询界面。
虽然比较简陋,但是基本上还是成功的。
这节课,我们来尝试使用一个新的工具,让天气才地图上展示出来。
基础知识
pyecharts库:一个含有丰富展示方式的库,具备各类图表展示数据的方式。
官方手册地址:点击这里
今天这里,我们只使用其中的map库。
准备工作
首先,我们需要安装下面的包(这次有点多哦!)
pip install pyecharts
pip install pyecharts-jupyter-installer
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-countries-pypkg
pip install echarts-united-kingdom-pypkg
开始尝试
做好准备工作,我们来根据官网提供的Demo分析一下:
可以看出:
第一个红框是地图的值域,使用的数据结构是:list
第二个红框是地图生成的位置,是一个html文件。
所以理论上我们把爬虫拿回来的数据,按照list存储,然后交给地图生成模块就可以。
思考一下,由于爬虫取回的数据是按照地市的,因此我们可能需要地图按照城市来显示,而不是省市,这时候有个技能就比较重要。
学会看文档,很重要
首先我们打开官方文档的页面,找到Map方法的说明,可以看到下面的一句话:
红框里说明的比较清楚,如果赋值是china的时候,显示的就是全国地图。
那么,如何显示城市,还是要参考pyecharts.datasets.map_filenames.json文件。
我们到python的安装目录下,寻找图例的地址:
Python\Lib\site-packages\pyecharts\datasets
在Lib\site-packages下,能够看到我们安装过所有的第三方库,打开pyecharts,在datasets中找到map_filenames.json文件:
我们来打开看看:
往下翻翻,我们可以在这里看到全国地图的两种显示方式:
第一种是只显示省市,第二种是显示所有地市。
分析完毕,尝试一下。
开始模拟尝试
依照前几节课的惯例,我们来模拟一下要显示的内容,来生产一个html文件。
首先,我们随便建立5个城市,并且给赋值对应的温度:
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
#将数据处理成列表
location = ['呼和浩特','广州','南京', '厦门', '巴彦淖尔']
weather = [21, 34, 30, 32, 22 ]
weatherList = [[location[i], weather[i]] for i in range(len(