pyecharts是一款将python与echarts结合的强大的数据可视化工具,本系列文章将为你阐述pyecharts的使用细则,让你对数据进行可视化处理时更加得心应手。这一系列中全部代码在Windows 10系统下基于Python3.7和pyecharts1.9.0实际运行通过。
一、前言
在这个系列的上一篇文章笔者介绍了使用pyecharts绘制直角坐标系的一系列基础图表。可以发现,使用echarts绘制的动态图表相较于其他静态图表会更加生动。在这一系列的第二期教学,笔者将会介绍使用pyechars绘制地理图表。
二、使用实例
在本期文章中,我们需要导入的库有:
from pyecharts.charts import *
from pyecharts.components import Table
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
import random
import datetime
GEO地理坐标系,在绘制地理图表中,我们可以使用GEO函数绘制图表,图表示例以及实现代码如下。
实现代码:
province = [
'广东','广西','湖南','四川','重庆','黑龙江','浙江','山西','河北','北京','河南','山东','西藏','台湾']
data = [(i, random.randint(50, 150)) for i in province]
geo = (
Geo()
.add_schema(maptype="china")
.add("", data)
)
geo.render('GEO地图.html')
除了GEO地理坐标系外,我们也可以通过MAP函数绘制MAP地理坐标系地图。相比于使用GEO方法绘制的地图,MAP方法绘制的地图无需触发点击或者移动鼠标即可看到地区信息(地名)。
实现代码:
province = [
'广东','广西','湖南','四川','重庆','黑龙江','浙江','山西','河北','北京','河南','山东','西藏','台湾']
data = [(i, random.randint(50, 150)) for i in province]
map_ = (
Map()
.add("", data, 'china')
)
map_.render('MAP地图.html')
3D地图的制作,在以上两个平面地图的基础上,我们可以通过Map3D函数制作立体地图。(注:Map3D函数更新与pyecharts 1.7.0版本,如果提示Map3D函数报错需更新pyecharts库,在cmd窗口执行 pip install --upgrade pyecharts 即可)
实现代码:
province = [
'广东','广西','湖南','四川','重庆','黑龙江','浙江','山西','河北','北京','河南','山东','西藏','台湾']
data = [(i, random.randint(50, 150)) for i in province]
map3d = (
Map3D()
.add("", data_pair=data, maptype='china')
)
map3d.render('3D地图.html')
3D地球仪,在pyecharts库中提供了MapGlobe方法用于绘制地球仪,可以直观地展示地球人口、资源分布等情况。在本例中,笔者以地球人口情况为例进行展示。
使用本例方法之前,我们还需要进行如下引入操作:
from pyecharts.faker import POPULATION
实现代码:
earth = (
MapGlobe()
.add_schema()
.add(
data_pair = POPULATION[1:],
series_name="world",
maptype = "world"
)
.set_series_opts(
lable_opts = opts.LabelOpts(is_show=True),
)
)
earth.render("地球仪.html")
本例是通过POPULATION方法绘制了带有地球人口标识的地球仪,读者可根据自己需要引入不同数据进行绘制。
以上是这一期给大家带来的利用pyecharts绘制地理图表的内容。在下一期的内容中,笔者将更新用pyecharts绘制基本图表的方法,喜欢的朋友可以收藏等待更新。