【python】-pyecharts使用(疫情地图案例)

目录

前言

一、导包

二、准备地图数据

三、准备数据

四、添加数据

五、设置全局选项

六、绘图

七、全国疫情地图案例

7.1  数据展示

7.2  具体操作与示例代码

八、绘制其他省份疫情数据地图


前言

Pyecharts 是一个基于 ECharts 的 Python 数据可视化库,允许用户使用 Python 语言生成各种类型的交互式图表和数据可视化

ECharts 是百度开源的一个数据可视化 JS 库,而 Pyecharts 则是 ECharts 的 Python 封装,使得在 Python 中使用 ECharts 变得更加方便。Pyecharts 提供了一组简单而灵活的 API,使用户能够轻松地创建各种图表,包括但不限于折线图、柱状图、散点图、饼图、地图等。通过 pyecharts,用户可以使用 Python 语言处理和准备数据,然后使用简洁的代码生成交互式的图表,这些图表可以嵌入到 Web 应用程序中或保存为静态文件。

  1. 安装与配置:Pyecharts的安装相对简单,可以通过pip进行安装。安装完成后,用户可以根据需要对图表进行个性化配置。
  2. 丰富的图形类型:Pyecharts支持多种图表类型,包括但不限于柱状图、折线图、饼图等,满足不同的数据展示需求。
  3. 交互式图表:由于Pyecharts基于ECharts,所以生成的图表具有良好的交互性,用户可以通过鼠标和触摸等操作与图表进行交互。
  4. 适用多种场景:Pyecharts可以在不同的Web框架中使用,如Jupyter Notebook、Flask、Django等,使得在Web应用中展示图表变得非常方便。
  5. 易于使用:Pyecharts提供了简洁明了的API,即使是没有编程背景的用户也能通过简单的学习快速上手绘制图表

一、导包

from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts

二、准备地图数据

map = Map()

三、准备数据

data = [
    ("北京市", 99),
    ("上海市", 199),
    ("湖南省", 299),
    ("台湾省", 399),
    ("广东省", 499),
]

四、添加数据

"china"代表使用中国地图。

map.add("测试地图",data, "china")

五、设置全局选项

map.set_global_opts(
    visualmap_opts=VisualMapOpts(
        is_show=True,    # 是否现实颜色
        is_piecewise=True,  # 手动设置范围
        pieces=[
            {"min":1, "max":9, "lable":"1-9", "color":"#CCFFFF"},
            {"min":10, "max":99, "lable":"10-99", "color":"#FF6666"},
            {"min":100, "max":500, "lable":"100-500", "color":"#990033"},
        ]
    )
)

六、绘图

map.render()

运行结果:

七、全国疫情地图案例

7.1  数据展示

数据文本展示:

 数据格式化展示:

7.2  具体操作与示例代码

通过读取文件,将json数据转换为python数据,先获取到省份数据列表和确诊人数,再将省份与确诊人数组装到数据列表;后创建地图对象,将数据添加进去,就可以绘制图像。

import json
from pyecharts.charts import Map
from pyecharts.options import TitleOpts,VisualMapOpts
# 读取数据文件
f = open("D:\pydaima\8day速成python\shuju\疫情.txt", "r", encoding="UTF-8")
data = f.read()
# 关闭文件
f.close()

# 取到各省数据
yq_data = json.loads(data)  # 将json转换为python字典
sf_data_list = yq_data["areaTree"][0]["children"]   # 得到省份数据列表
# 组装省名称与数据的列表
data_list = []  # 绘制使用的数据列表
# 各省份全称列表
count = 0
sf_name_list = ['台湾省', '江苏省', '云南省', '河南省', '上海市', '湖南省', '湖北省', '广东省', '香港特别行政区', '福建省', '浙江省', '山东省', '四川省', '天津市', '北京市', '陕西省', '广西壮族自治区', '辽宁省', '重庆市', '澳门特别行政区', '甘肃省', '山西省', '海南省', '内蒙古自治区', '吉林省', '黑龙江省', '宁夏回族自治区', '青海省', '江西省', '贵州省', '西藏自治区', '安徽省', '河北省', '新疆维吾尔自治区']
for sf_data in sf_data_list:
    sf_name = sf_name_list[count]   # 省份名称
    count += 1
    sf_confirm = sf_data["total"]["confirm"]    # 确诊人数
    data_list.append((sf_name, sf_confirm))
    print(sf_name)

# 创建地图对象
map = Map()
# 添加数据
map.add("各省份确诊人数", data_list, "china")

# 设置全局选项
map.set_global_opts(
    title_opts=TitleOpts(title="全国疫情地图"),
    visualmap_opts=VisualMapOpts(
        is_show=True,   # 是否显示
        is_piecewise=True,
        pieces=[
            {"min":1, "max":499, "lable": "1-499人", "color":"#d1db85"},
            {"min":500, "max":999, "lable": "500-999人", "color":"#f9d80b"},
            {"min":1000, "max":4999, "lable": "1000-4999人", "color":"#f9a90b"},
            {"min":5000, "max":9999, "lable": "5000-9999人", "color":"#f9720b"},
            {"min":10000, "max":49999, "lable": "10000-49999人", "color":"#f90b6d"},
            {"min":50000, "lable": "50000+", "color":"#f90b0b"},
        ]
    )
)
# 绘图
map.render("全国疫情地图.html")

运行结果如下:

八、绘制其他省份疫情数据地图

绘制省份地图,只需将省份的各市的数据,并将map.add()里的参数改为你想使用的省份即可,如绘制广东的疫情数据地图。

以下为示例代码:

"""
演示绘制广东疫情地图
"""
import json
from pyecharts.charts import Map
from pyecharts.options import TitleOpts, VisualMapOpts
# 读取数据文件
f = open("D:\pydaima\8day速成python\shuju\疫情.txt", "r", encoding="UTF-8")
data = f.read()
# 关闭文件
f.close()

# 读取广东所有数据
# json转换为python字典
data_dict = json.loads(data)
cities_hn_data = data_dict['areaTree'][0]['children'][7]['children']


# 准备数据为元组并嵌入list
data_list = []
for citi_data in cities_hn_data:
    citi_name = citi_data['name'] + "市"
    citi_confirm = citi_data['total']['confirm']
    data_list.append((citi_name,citi_confirm))



# 创建地图对象
map = Map()
map.add("广东省疫情分布",data_list, "广东")

# 设置全局选项
map.set_global_opts(
    title_opts=TitleOpts(title="广东省疫情"),
    visualmap_opts=VisualMapOpts(
        is_show=True,   # 是否显示
        is_piecewise=True,  # 是否分段
        pieces=[
            {"min": 1, "max": 49, "lable": "1-49人", "color": "#d1db85"},
            {"min": 50, "max": 99, "lable": "50-99人", "color": "#f9d80b"},
            {"min": 100, "max": 149, "lable": "100-149人", "color": "#f9a90b"},
            {"min": 150, "max": 199, "lable": "150-199人", "color": "#f9720b"},
            {"min": 200, "max": 249, "lable": "200-249人", "color": "#f90b6d"},
            {"min": 250, "lable": "250+", "color": "#f90b0b"},
        ]
    )
)

# 绘图
map.render("广东疫情分布情况.html")

运行结果:

此外,Pyecharts 具有丰富的图表类型,包括柱状图、箱形图、散点图、漏斗图、仪表盘、地理坐标系图表等,满足不同的数据展示需求。同时,它还支持生成3D图表,增加了可视化的立体感和互动性。

总的来说,Pyecharts 是一个强大的数据可视化工具,适用于需要进行数据分析和展示的Python开发者和数据分析师。

  • 28
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
使用pyecharts展示百度地图的步骤如下: 1. 安装pyecharts和百度地图插件 ``` pip install pyecharts pip install echarts-countries-pypkg # 国家地图插件 pip install echarts-china-provinces-pypkg # 中国省级地图插件 pip install echarts-china-cities-pypkg # 中国市级地图插件 pip install echarts-china-counties-pypkg # 中国县级地图插件 pip install echarts-china-misc-pypkg # 中国其它地图插件 pip install echarts-cities-js # 世界城市地图插件 pip install echarts-united_kingdom-js # 英国地图插件 pip install echarts-united_states-js # 美国地图插件 pip install echarts-canada-js # 加拿大地图插件 pip install echarts-italy-js # 意大利地图插件 pip install echarts-france-js # 法国地图插件 pip install echarts-germany-js # 德国地图插件 pip install echarts-netherlands-js # 荷兰地图插件 pip install echarts-spain-js # 西班牙地图插件 pip install echarts-brazil-js # 巴西地图插件 pip install echarts-mexico-js # 墨西哥地图插件 pip install echarts-russia-js # 俄罗斯地图插件 pip install echarts-misc-js # 其它国家地图插件 ``` 2. 创建地图 ``` from pyecharts import options as opts from pyecharts.charts import Map # 创建地图 map = Map() # 设置地图属性 map.set_global_opts( title_opts=opts.TitleOpts(title=""), visualmap_opts=opts.VisualMapOpts(max_=200), ) # 添加数据 data = [("北京", 100), ("上海", 50), ("广州", 80), ("深圳", 60)] map.add("", data) # 保存地图 map.render("map.html") ``` 3. 在百度地图上显示地图 ``` from pyecharts import options as opts from pyecharts.charts import BMap # 创建地图 bmap = BMap() # 设置地图属性 bmap.set_global_opts( title_opts=opts.TitleOpts(title=""), visualmap_opts=opts.VisualMapOpts(max_=200), bmap_opts=opts.BMapOpts( center=[116.404, 39.915], # 地图中心点坐标 zoom=11 # 缩放级别 ) ) # 添加数据 data = [("北京", 100), ("上海", 50), ("广州", 80), ("深圳", 60)] bmap.add("", data) # 保存地图 bmap.render("bmap.html") ``` 注意:使用百度地图需要在pyecharts中设置密钥,具体操作可以参考官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值