pyecharts实现迁徙图,简短代码实现惊艳效果

# -*- coding: utf-8 -*-
"""
Created on Mon Jun  1 08:07:10 2020

@author: cbq
"""


import os
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="#323c48", border_color="#111"),
    )
    .add(
        "eeee",
        [("广州", 55),("乌鲁木齐", 15),  ("北京", 66), ("杭州", 77), ("重庆", 88),("拉萨", 42),("重庆", 49)],
        type_=ChartType.EFFECT_SCATTER,
        color="white",
    )
    .add(
        "apple",
        [("广州", "上海"), ("广州", "北京"), ("广州", "杭州"), ("广州", "重庆")],
        type_=ChartType.LINES,
        effect_opts=opts.EffectOpts(
            symbol=SymbolType.ARROW, symbol_size=6, color="blue"
        ),
        linestyle_opts=opts.LineStyleOpts(curve=0.2),
    )
    .add(
        "pear",
        [("成都", "拉萨"), ("成都", "西安"), ("兰州", "重庆"), ("兰州", "拉萨")],
        type_=ChartType.LINES,
        effect_opts=opts.EffectOpts(
            symbol=SymbolType.ARROW, symbol_size=8, color="yellow"
        ),
        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="Geo-Lines-background"))
    .render("geo_lines_background.html")
)

os.system(c)

 

 

 

 

Pyecharts是一个基于Python的强大的可视化库,能够生成各种类型的表,包括迁徙。要绘制迁徙,首先需要安装pyecharts库。然后,可以使用Geo类中的add_coordinate()方法添加经纬度信息,使用Map类中的add()方法添加数据系列,最后使用Map类中的set_global_opts()方法设置全局选项,如标题、例等。以下是一个简单的迁徙的样例代码: ```python from pyecharts import options as opts from pyecharts.charts import Map from pyecharts.globals import ChartType, SymbolType data = [('北京', '上海', 100), ('北京', '广州', 200), ('北京', '深圳', 300), ('上海', '北京', 150), ('上海', '广州', 250), ('上海', '深圳', 350), ('广州', '北京', 50), ('广州', '上海', 150), ('广州', '深圳', 250), ('深圳', '北京', 100), ('深圳', '上海', 200), ('深圳', '广州', 300)] lines = [] for d in data: lines.append(opts.MapLineItem(name=d[0] + '->' + d[1], from_name=d[0], to_name=d[1], value=d[2])) map = ( Map() .add("迁徙", [], maptype="china") .add("迁徙路线", lines, maptype="china", is_roam=False, is_large=True, symbol=SymbolType.NONE) .set_series_opts(label_opts=opts.LabelOpts(is_show=False)) .set_global_opts(title_opts=opts.TitleOpts(title="迁徙"), legend_opts=opts.LegendOpts(is_show=True)) ) map.render("migration.html") ``` 这段代码会生成一个包含多条迁徙路线的迁徙,路线的起点和终点为不同的城市,路线的粗细和颜色深浅表示迁徙人数的多少。表的标题是“迁徙”,并将表保存为migration.html文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值