利用pyechart绘制简单的迁徙流向图、世界地图

1.介绍

Echarts 是一个由百度开源的数据可视化,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

Apache Echarts 开源地址:https://github.com/apache/echarts
Pyecharts 开源地址:https://github.com/pyecharts/pyecharts
Pyecharts 官方文档:https://pyecharts.org/#/zh-cn/
Pyecharts 官方示例:https://gallery.pyecharts.org/#/README

2.利用pyecharts绘制简单的迁徙流向图

以下代码均作了注释,可以结合官方开发文档进行阅读

from pyecharts.charts import Map, Geo
from pyecharts import options as opts
from pyecharts.globals import ChartType,SymbolType

provience_dis={"广州":(113.27,23.13),"北京":(116.40,39.90),"新疆":(87.62,43.82),
               "安徽":(117.25,31.83),"成都":(104.07,30.67)}
list_key=list(provience_dis.keys())
list_value=list(provience_dis.values())
# 利用zip()函数生成由 <元组> 组成的 <列表>,list(z)为一个个元组,最后注意要加上[]成为列表
data_pro=[list(z) for z in zip(list_key,list_value)]
print(data_pro)

china=(
    Geo(init_opts=opts.InitOpts(width="1500px",height='1200px',page_title="成都人口流向图"))  # 初始化配置
    # 基本框架设置 参考 pyecharts-document-Geo
    .add_schema(maptype="china",
                is_roam=True,  # 开启鼠标缩放
                zoom=1,  # 当前视角比例缩放
                center=[104.06,30.67],  # 当前视角的中心点 经纬度表示
                layout_size=500,
                itemstyle_opts=opts.ItemStyleOpts(color="#FFFFCC",border_color="#800000"))
    # 为地图添加配置
    # 标注散点
    .add(
        "",  # series name
        # 添加数据项(坐标点名称,坐标点值)
        # data_pro,
        [("广州",(113.27,23.13)),("北京",(116.40,39.90)),("安徽",(117.25,31.83)),
         ("新疆",(87.62,43.82)),("成都",(104.07,30.67))],
        type_=ChartType.EFFECT_SCATTER,  # 添加图类型
        color="black"
    )
    # 标记流向线条
    .add(
        'Geo',  # series_name
        [("成都","新疆"),("成都","北京"),("成都","安徽"),("成都","广州")],
        type_=ChartType.LINES,
        is_selected=True,  # 图例
        effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW,symbol_size=6,color="blue"),  # 添加效果 箭头arrow
        linestyle_opts=opts.LineStyleOpts(curve=0.2)
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True))  # 系列配置项
    .set_global_opts(title_opts=opts.TitleOpts(title="成都人口流向图"))  # 全局配置项
    .render('china.html')
)
  • 效果
    pyecharts_china
3.世界地图的绘制
  • 代码块
world=(
    Map(init_opts=opts.InitOpts(width="1500px",height="900px",page_title="世界地图——NiKOJJ"))  # 初始化配置
    .add(
        "世界地图",
        data_pair=[("China",95.1),("Canada",23.2),
                   ("Brazil",43.3),("Russia",66.4),("Britain",11.0),
                   ("United States",88.5),("Greenland",60.0),("Germany",10.27,),
                   ("Australia",150.53),("South Africa",17.33),("Italy",41.54)],
        maptype="world",
        is_roam=True,
        is_selected=True,
        is_map_symbol_show=True,
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="MAP-世界地图"),
        visualmap_opts=opts.VisualMapOpts(is_show=True)
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
    .render('MAP-WPRLD.html')

)

  • 效果:
    pyecharts-world

更多内容请访问我的博客小站,链接:NiKoJJ’s Blog
同时欢迎关注微信公众号,获取更多有趣内容!
在这里插入图片描述

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值