python使用pyecharts库画地图数据可视化的实现

这篇文章主要介绍了python使用pyecharts库画地图数据可视化的实现

python使用pyecharts库画地图数据可视化导库中国地图代码结果世界地图代码结果省级地图代码结果地级市地图代码结果

导库

from pyecharts import options as opts
from pyecharts.charts import Map

中国地图代码

data = [('湖北', 9074),('浙江', 661),('广东', 632),('河南', 493),('湖南', 463),
    ('安徽', 340),('江西', 333),('重庆', 275),('江苏', 236),('四川', 231),
    ('山东', 230),('北京', 191),('上海', 182),('福建', 159),('陕西', 116),
    ('广西', 111),('云南', 105),('河北', 104),('黑龙江', 95),('辽宁', 69),
    ('海南', 64),('新疆', 21),('内蒙古', 21),('宁夏', 28),('青海', 11),('甘肃', 40),('西藏', 1),
    ('贵州', 38),('山西', 56),('吉林', 23),('台湾', 10),('天津', 48),('香港', 14),('澳门', 8)]
def map_china() -> Map:
  c = (
    Map()
    .add(series_name="确诊病例", data_pair=data, maptype="china",zoom = 1,center=[105,38])
    .set_global_opts(
      title_opts=opts.TitleOpts(title="疫情地图"),
      visualmap_opts=opts.VisualMapOpts(max_=9999,is_piecewise=True,
              pieces=[{"max": 9, "min": 0, "label": "0-9","color":"#FFE4E1"},
                  {"max": 99, "min": 10, "label": "10-99","color":"#FF7F50"},
                  {"max": 499, "min": 100, "label": "100-499","color":"#F08080"},
                  {"max": 999, "min": 500, "label": "500-999","color":"#CD5C5C"},
                  {"max": 9999, "min": 1000, "label": ">=1000", "color":"#8B0000"}]
                       )
    )
  )
  return c

d_map = map_china()
d_map.render_notebook()
d_map.render("china_map.html")

结果

image

世界地图代码

data = [['China', 14489],['Japan', 20],['Thailand', 19],['Singapore', 18],['Korea', 15],
    ['Australia', 12],['Germany', 10],['Malaysia', 8],['United States', 8],['Vietnam', 7],['France', 6],
    ['United Arab Emirates', 5],['Canada', 4],['Italy', 2],['India', 2],
    ['United Kingdom', 2],['Philippines', 2],['Russia', 2],['Sri Lanka', 1],['Cambodia', 1],
    ['Nepal', 1],['Sweden', 1],['Finland', 1],['Spain', 1]]
def map_world() -> Map:
  c = (
    Map()
    .add("确诊病例", data, maptype="world",zoom = 1)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
      title_opts=opts.TitleOpts(title="疫情地图"),
      visualmap_opts=opts.VisualMapOpts(max_=100,is_piecewise=False),
    )
  )
  return c
 
d_map = map_world()
d_map.render_notebook()
d_map.render("countries_map.html")

结果

image

省级地图代码

data = [['昆明市', 31],['玉溪市', 11],['楚雄彝族自治州', 2],['西双版纳傣族自治州', 12],['普洱市', 4],
    ['昭通市', 8],['曲靖市', 5],['迪庆藏族自治州', 0],['丽江市', 7],['临沧市', 1],['保山市', 8],
    ['怒江傈僳族自治州', 0],['大理白族自治州', 7],['德宏傣族景颇族自治州', 4],['红河哈尼族彝族自治州', 5],
    ['文山壮族苗族自治州', 0]]
def map_yunnan() -> Map:
  c = (
    Map()
    .add("确诊病例", data, "云南",zoom = 1)
    .set_global_opts(
      title_opts=opts.TitleOpts(title="云南疫情地图"),
      visualmap_opts=opts.VisualMapOpts(max_=31,is_piecewise=True,
              pieces=[{"max": 0, "min": 0, "label": "0","color":"#FFFFFF"},
                  {"max": 9, "min": 1, "label": "0-9","color":"#FFE4E1"},
                  {"max": 99, "min": 10, "label": "10-99","color":"#FF7F50"},
                  {"max": 499, "min": 100, "label": "100-499","color":"#F08080"},
                  {"max": 999, "min": 500, "label": "500-999","color":"#CD5C5C"},
                  {"max": 9999, "min": 1000, "label": ">=1000", "color":"#8B0000"}]
                       ),
    )
  )
  return c
 
d_map = map_yunnan()
d_map.render_notebook()
d_map.render("provinces_map.html")

结果

image

地级市地图代码

data = [['楚雄市', 31],['玉溪市', 11],['楚雄彝族自治州', 2],['西双版纳傣族自治州', 12],['普洱市', 4],
    ['昭通市', 8],['曲靖市', 5],['迪庆藏族自治州', 0],['丽江市', 7],['临沧市', 1],['保山市', 8],
    ['怒江傈僳族自治州', 0],['大理白族自治州', 7],['德宏傣族景颇族自治州', 4],['红河哈尼族彝族自治州', 5],
    ['文山壮族苗族自治州', 0]]
def map_yunnan() -> Map:
  c = (
    Map()
    .add("确诊病例", data_pair=data, maptype="楚雄彝族自治州",zoom = 1)
    .set_global_opts(
      title_opts=opts.TitleOpts(title="楚雄地图"),
      visualmap_opts=opts.VisualMapOpts(max_=31,is_piecewise=False),
    )
  )
  return c
 
d_map = map_yunnan()
d_map.render_notebook()
d_map.render("cities_map.html")

结果

image

警告消除
以上的代码运行时会出现警告,这是因为新版本的提示

/usr/local/lib/python3.6/site-packages/pyecharts/charts/chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

消除方案,只需在代码上添加以下代码就不会有提示了

from pyecharts.globals import WarningType
WarningType.ShowWarning = False

转载自https://blog.csdn.net/sjtulgl/article/details/105032309

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341