pyecharts 地图可视化

2020-02-19 12:01:50 浏览数 (1)

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化的 JavaScript 库。pyecharts 相当于是 python 版的 Echarts。

pyecharts代码运行后会在当前目录生成一个名为render.html的网页文件,用浏览器打开该文件即可渲染出图形。

pyecharts可以画各种图形,如曲线图,散点图,箱线图,K线图等等。本篇仅介绍其画map的官方demo。下面是绘图结果示例:

代码语言:javascript复制
代码如下:
from pyecharts import options as opts
from pyecharts.charts import Map, Page
from pyecharts.faker import Collector, Faker
C = Collector()

@C.funcs
def map_base() -> Map:
    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
        .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
    )
    return c

@C.funcs
def map_without_label() -> Map:
    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="Map-不显示Label"))
    )
    return c

@C.funcs
def map_visualmap() -> Map:
    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-VisualMap(连续型)"),
            visualmap_opts=opts.VisualMapOpts(max_=200),
        )
    )
    return c

@C.funcs
def map_visualmap_piecewise() -> Map:
    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
        #.add("商家A", [['湖北',1],['广东',0]], "china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)"),
            visualmap_opts=opts.VisualMapOpts(max_=3, is_piecewise=True),
        )
    )
    return c

@C.funcs
def map_world() -> Map:
    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.country, Faker.values())], "world")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-世界地图"),
            visualmap_opts=opts.VisualMapOpts(max_=200),
        )
    )
    return c

@C.funcs
def map_guangdong() -> Map:
    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], "广东")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-广东地图"),
            visualmap_opts=opts.VisualMapOpts(),
        )
    )
    return c

Page().add(*[fn() for fn, _ in C.charts]).render()

上述代码利用虚拟的数据绘制6张地图。

如果想要绘制自有的数据该怎么处理呢?可将.add那一行改为如下形式:

代码语言:javascript复制
.add("商家A", [['湖北',1],['广东',0]], "china")

opts.VisualMapOpt()函数中 max参数也要做相应修改。

祝大家新年快乐,健康平安!

0 人点赞