pyecharts 是一个用于生成 Echarts 图表的类库。Echarts
是百度开源的一个数据可视化的 JavaScript 库。pyecharts 相当于是 python 版的 Echarts。
pyecharts代码运行后会在当前目录生成一个名为render.html的网页文件,用浏览器打开该文件即可渲染出图形。
pyecharts可以画各种图形,如曲线图,散点图,箱线图,K线图等等。本篇仅介绍其画map的官方demo。下面是绘图结果示例:
代码如下:from pyecharts import options as optsfrom pyecharts.charts import Map, Pagefrom pyecharts.faker import Collector, FakerC = Collector()@C.funcsdef 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.funcsdef 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.funcsdef 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.funcsdef 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.funcsdef 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.funcsdef 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 cPage().add(*[fn() for fn, _ in C.charts]).render()
上述代码利用虚拟的数据绘制6张地图。
如果想要绘制自有的数据该怎么处理呢?可将.add那一行改为如下形式:.add("商家A", [['湖北',1],['广东',0]], "china")
opts.VisualMapOpt()函数中 max参数也要做相应修改。
祝大家新年快乐,健康平安!