Python可视化神器pyecharts绘制地理图表

地理图表

什么是地理图表?地理图表有什么作用?地理图表主要应用在那些领域?

其实这些问题看看下面的实例图形就已不攻自破了,地理图表一看首先就是地图,然后在地理图表里面展示数据,比如说热力图,趋势流动图,人口密集分布图,反正地理坐标相关的就可以运用在这个里面,其次图形支持全球地图,全球国家,中国,中国的所有的省份的地图,反正应有尽有,包含300多个方法的地理图例,如果要做科研想要研究这方面的课题,那么pyecharts现在就是首选了,matplotlib就应该退下,都说“选择大于努力”,在某些时候其实说的非常正确!

Python绘制地理图表之可视化神器pyecharts(一)_数据可视化

地理图表之热力图系列模板

人口流动趋势图(中国)

这个图表可以运用在航班的信息分析,比如现在有一架飞机从重庆江北机场出发,我们需要快速的了解飞机乘客都要去那些地方,而且每个地域有多少人,那么这个模板就可以用的上了。

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
c = (
Geo()
.add_schema(
maptype="china",
itemstyle_opts=opts.ItemStyleOpts(color="#a4a4a4", border_color="#005454"),
)
.add(
"",
[("广州", 20000), ("北京", 15000), ("杭州", 69000), ("重庆", 56000),("西藏",64000),("新疆",64000),("内蒙古",64000)],
type_=ChartType.EFFECT_SCATTER,
color="yellow",
)
.add(
"流动路线",
[("重庆", "上海"), ("重庆", "北京"), ("重庆", "杭州"), ("重庆", "广州"), ("重庆", "西藏"), ("重庆", "新疆"), ("重庆", "内蒙古")],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="green"
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="人口流动路线"))
.render("人口流动路线.html")
)

Python绘制地理图表之可视化神器pyecharts(一)_热力图_02

中国城市分段热力图

知道中国所有城市,比如江西,重庆,上海......每个城市的参数数据分布,我们就可以画出相应的热力图。

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
c = (
Geo()
.add_schema(maptype="china")
.add("城市", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(is_piecewise=True),
title_opts=opts.TitleOpts(title="标题"),
)
.render("分段热力图.html")
)
print([list(z) for z in zip(Faker.provinces, Faker.values())])

Python绘制地理图表之可视化神器pyecharts(一)_地图_03

重庆省份微塑料分布热力图

数据纯属虚构,这个模板涵盖了中国所有省份的地图大全,只要知道省份里面的区县就可以呈现相关数据效果图了。

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globals import ChartType
x=["巫山","万州","云阳","奉节"]
y=[123,560,456,362]
c = (
Geo()
.add_schema(maptype="重庆")
.add(
"含量",
[list(z) for z in zip(x, y)],
type_=ChartType.HEATMAP,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(max_=570), title_opts=opts.TitleOpts(title="重庆微塑料分布热力图")
)
.render("重庆热力图.html")
)

Python绘制地理图表之可视化神器pyecharts(一)_地图_04

中国城市连续热力图

鼠标可以控制热力分布,用于可视化展示与解说。

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globals import ChartType
c = (
Geo()
.add_schema(maptype="china")
.add(
"热力",
[list(z) for z in zip(Faker.provinces, Faker.values())],
type_=ChartType.HEATMAP,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(),
title_opts=opts.TitleOpts(title="标题"),
)
.render("连续热力图.html")
)

Python绘制地理图表之可视化神器pyecharts(一)_热力图_05

中国城市热力动态图

展示城市动态图的热力效果,直观看出效果。

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globals import ChartType
c = (
Geo()
.add_schema(maptype="china")
.add(
"热力图",
[list(z) for z in zip(Faker.provinces, Faker.values())],
type_=ChartType.EFFECT_SCATTER,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("动态热力图.html")
)

Python绘制地理图表之可视化神器pyecharts(一)_热力图_06

中国城市散点热力图

鼠标可以控制热力图的覆盖率,此模板比较的合适。

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
c = (
Geo()
.add_schema(maptype="china")
.add("热力", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="标题")
)
.render("中国散点热力图.html")
)

Python绘制地理图表之可视化神器pyecharts(一)_地图_07

到此这篇关于Python可视化神器pyecharts绘制地理图表的文章就介绍到这了,更多相关Python绘制地理图表内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

原文地址:https://blog.51cto.com/u_15172991/5428173