在写论文的时候我们常见的是画全国地图,但是画地图的软件我找了许多,发现这三种情况:
- 不会用
- 出图不能下载
- 下载有水印
所以犯了难题,后来最终找到python(pycharts)模块,几行代码可以搞定,再也不用愁地图。那么接下来废话不多说,开始一起进入画地图的世界。
画图无非我们会遇到以下两种情形:
- 已知数据
- 未知数据(爬虫爬取数据再作图,目前我还在学习中)
1.已知数据案例附带码
通过代码进入本期的话题,本图采用的是某日疫情数据,代码如下:(稍后逐一解释)
pip install pyecharts
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
import pyecharts
from pyecharts import Map
value = [121,31,74,113,212,56,34,
66,128,31,51,13,24,1,
254,114,127,725,72,10,15,
259,566,408,271,203,724,391,
179,46,312,521,11177,2]
province = ["黑龙江", "吉林", "辽宁", "河北","北京","天津","内蒙古",
"山西", "陕西", "宁夏", "甘肃","青海","新疆","西藏",
"四川", "云南", "广西", "广东","海南","台湾","香港",
"山东", "河南", "安徽", "江苏","上海","浙江","江西",
"福建", "贵州", "重庆", "湖南","湖北","澳门"]
people = Map("全国确诊人数", width=1200, height=600)
people.add("人口:人", province, value,
maptype='china',
is_label_show=True,
is_visualmap=True,
visual_range=[0,800])
2.代码解释(用#注释说明)
- 1)加载数据包(需要逐个加载,不要一下加载)
pip install pyecharts#作图包
pip install echarts-countries-pypkg #世界地图
pip install echarts-china-provinces-pypkg #中国省份
pip install echarts-china-cities-pypkg #中国城市
pip install echarts-china-counties-pypkg #中国县区
pip install echarts-china-misc-pypkg #中国区域
建议这几个包都下载上,因为包在手任何地区区域都可以尝试进行画。
- 2)导入包
import pyecharts #导入pycharts包
from pyecharts import Map #从包里导出需要的地图库
- 3)数据
value = [121,31,74,113,212,56,34,
66,128,31,51,13,24,1,
254,114,127,725,72,10,15,
259,566,408,271,203,724,391,
179,46,312,521,11177,2]
province = ["黑龙江", "吉林", "辽宁", "河北","北京","天津","内蒙古",
"山西", "陕西", "宁夏", "甘肃","青海","新疆","西藏",
"四川", "云南", "广西", "广东","海南","台湾","香港",
"山东", "河南", "安徽", "江苏","上海","浙江","江西",
"福建", "贵州", "重庆", "湖南","湖北","澳门"]
此处小贴士——
(1)数据应当一一对应
(2)数据可以不是全国所有的省份,只输入你拥有的省份即可
(3)省份名称只能是上述的形式,不可以输“山西省”
(4)统一使用英文状态下的双引号和逗号(如何加?)
天啦噜,这么多数不会一个一个输进去吧?放心啦,自有妙招——
打开存数据的excel,划重点咯
A.省份加上双引号
excel 如何为单元格字符串前后批量添加双引号?www.jianshu.comB.变文本加上逗号
https://jingyan.baidu.com/article/7f41ecec171422593d095c0c.htmljingyan.baidu.com是不是很简单?再也不用愁数据挨个输入了哈哈哈,想想都很开心!!
- 4)设置地图
people = Map("全国确诊人数", width=1200, height=600)#设置地图标题、宽度和高度
people.add("人口:人", province, value,
maptype='china',
is_label_show=True,
is_visualmap=True,
visual_range=[5000, 12000])#设置相应的标签情况
此处小贴士——
(1)people.add()是指在图上增添其他的信息
(2)maptype=’china’,这里是指地图类型,默认为china中国
(3)is_label_show=True表示是否在地图上显示省市的名称。
(4)is_visualmap=True,是否给地图着色
(5)visual_range=[a, b],着色的数字区域,默认是0到100,由于我们的数据是人口,数字远远超出100,这时我们可以给visual_range设置为[0, 800]
3.做你自己的图
想要作图你需要做什么,在这个代码基础上怎么就能变成你自己的代码?其实很简单!你只需要做这些就好——
- 需要变动的用蓝色标出
此处小贴士——
(1)你只需要变value和province里面的数据
(2)图片的标题和标签
(3)数据显示的范围
4.闲言碎语
祝你成功!本文参考的链接分享给大家,一起学习哦~
写出第一行python代码 - HackWork技术工坊hackwork.org对于未知数据的获取,涉及到爬虫,我还在学习当中,也希望大家多多指教,一起交流!