Pyecharts制作地图的几种方法评析

113 篇文章 24 订阅
55 篇文章 12 订阅

说到使用Python进行地理坐标可视化那就一定少不了Pyecharts的身影,本文就对Pyecharts可以制作的四种地图进行简单的评析。

Pyecharts—Map

首先介绍的是Pyecharts中使用最多的Map(),核心代码仅四行即可生成全国地图,来看下官方Demo

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
    Map()
    .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
    .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
    .render("map_base.html")
)

我们看下中间四行代码究竟做了什么:

  • .Map()创建了一个地图实例

  • .add()添加了数据,实际上zip()中就是两个list,一个是省份名称另一个是对应的数据

  • .set_global_opts()添加了标题

  • .render()将生成的地图以html格式保存

所以这个最简单的地图长这样

告诉我你对这张地图的第一感觉,除了丑就是不协调,主要就是因为下面三点:

  • 顶部的图例,怎么看怎么不爽

  • 有数据省份的红点,怎么看怎么不爽

  • 就在地图上给有数据的省份打了几个点,怎么看怎么不爽

所以我在使用Map()的时候一般会对上面三点进行调整,还是一样的数据,代码可以这么写

c = (
    Map()
    .add("", [list(z) for z in zip(Faker.provinces, Faker.values())], "china",is_map_symbol_show=False,)
    .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"), visualmap_opts=opts.VisualMapOpts())
    .render_notebook()
)

这样看已经比刚开始的样子好了很多,虽然可以看出不同省份之间的差异,但是还是有一点让人不爽的就是大部分省份是没有值的,要是全国都有值就更好了👇

所以Pyecharts中的Map更应该适合能将地图填满的数据,这样才能让图看上去更丰富,如果只有地图中小部分省市的数据还是来个柱状图更直观!

Pyecharts—Geo

我们先来看看Geo绘制出来的地图长啥样,还是刚刚的数据,代码也并不复杂

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="Geo-热力地图"),
    )
)
c.render_notebook()

可以看到,Geo绘制出来的地图不会显示省份/城市的名字,并且用热力图的方式让数据差异更直观,而这恰好解决了Map不适用与小部分数据的短板。所以当数据量不是很多的时候又想绘制地图就可以考虑使用Geo并通过热力图的方法来展示。当然Geo还支持不同样式动态的流向地图(制作可以查阅相关文档)

Pyecharts—Bmap

Bmap就是百度地图,也是我经常用的一种。Pyecharts可以调用百度地图的接口来让地图更加丰富,比如还是之前的数据,我们使用Bmap来制作

正如上图展示的,使用Bmap绘制出来的地图更接近我们平时使用的地图,并支持缩放来查看更多细节而更加真实,不过使用Bmap之前需要去百度地图开放平台申请一个API KEY才能使用。

Pyecharts—Map3D

上面三种地图都是2D的图形,Pyecharts也支持创建3d地图,比如下面的代码就能在3D地图上以柱状图来展示数据

可以看到,3D地图会让数据更加立体的展示出来,不过虽然炫酷,但是要整理经纬度数据等需要消耗太多的时间,而且代码调整起来也比之前几种地图更加复杂,所以我并不是经常使用,偶尔花点时间用来点缀PPT也是可以的!

结束语

以上就是对Pyecharts可以制作四种地理图表的一个简单总结,我想你应该明白它们的区别并能在制作地图时选择合适的那一个,不过制作可视化地图并不只有Pyecharts,还需要根据自己的数据与环境选择合适的工具!

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
非常好的问题,我会尽力回答。 西方传播学理论是指在西方国家出现的一系列传播学理论,这些理论对于传播学的发展和研究起到了重要的作用。下面对其中的一些理论进行评析。 1. 传播效果理论 传播效果理论是传播学的经典理论之一,它认为媒体对受众的影响是直接、线性、单向的。但是,该理论在实践中存在一些问题,例如忽略了受众的个体差异,以及忽略了社会文化背景等因素。因此,在现代传播研究中,传播效果理论已经不再是主流观点。 2. 社会学习理论 社会学习理论认为,人们通过观察和模仿他人的行为来学习。它强调了社会因素对于个体行为的影响,但也存在一些问题,例如忽略了个体的自主性和选择性。 3. 媒介依存理论 媒介依存理论认为,媒体对于人们的生活和行为起到了重要的作用,人们已经形成了对于媒体的依赖。这一理论在当前社会具有重要的实践意义,但也存在一些问题,例如忽略了人们对于媒体的选择和控制。 4. 文化研究理论 文化研究理论强调了文化的多样性和复杂性,认为文化是一种动态的过程。这一理论强调了文化对于传播的影响,但也存在一些问题,例如过分关注文化的异质性,而忽略了文化的共性。 综上所述,西方传播学理论在传播研究中具有重要的地位,但也需要不断地进行修正和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘早起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值