Pandas+Pyecharts | 新冠疫情数据动态时序可视化

news2024/11/19 17:30:12

文章目录

  • 🏳️‍🌈 1. 导入模块
  • 🏳️‍🌈 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 按月统计数据
  • 🏳️‍🌈 3. Pyecharts数据可视化
    • 3.1 疫情动态时序地图
    • 3.2 疫情动态时序折线图
    • 3.3 疫情动态时序柱状图
    • 3.4 疫情动态时序扇形图
  • 🏳️‍🌈 可视化项目源码+数据

大家好,我是 👉【Python当打之年(点击跳转)】

本期利用 python 的 pyecharts 可视化库绘制 疫情动态时序地图、动态时序柱状图、动态时序折线图、动态时序饼图等来展示疫情情况,希望对你有所帮助,如有疑问或者需要改进的地方可以私信小编。


🏳️‍🌈 1. 导入模块

import pandas as pd
from pyecharts.charts import Bar
from pyecharts.charts import Map
from pyecharts.charts import Pie
from pyecharts.charts import Line
from pyecharts.charts import Timeline
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df = pd.read_excel('./2020-2022疫情数据.xlsx')

在这里插入图片描述

数据日期范围2020/1/21~2022/12/27。

2.2 按月统计数据

df1 = df.copy()
df1['month'] = pd.DatetimeIndex(df1["date"]).month
df1['year'] = pd.DatetimeIndex(df1["date"]).year
df1['month'] = df1['month'].astype('str')
df1['year'] = df1['year'].astype('str')
df1['year_month'] = df1['year']+'_'+df1['month']

在这里插入图片描述

🏳️‍🌈 3. Pyecharts数据可视化

3.1 疫情动态时序地图

# 地图
def get_year_m(year_month,df_t):   
    map_chart = (
        Map(init_opts=opts.InitOpts(width="1000px", height="600px", theme='dark', bg_color='#0d0735'))
        .add(
            series_name="",
            data_pair=map_data,
            zoom=1,
            center=[119.5, 34.5],
            is_map_symbol_show=False,
            label_opts=opts.LabelOpts(is_show=False),
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title=f"{year_month}月全国分地区疫情确诊情况",
                pos_top="2%",
                pos_left="2%",
                title_textstyle_opts=opts.TextStyleOpts(font_size=24,color="#fff200")
            ),
            tooltip_opts=opts.TooltipOpts(
                is_show=True,
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_calculable=True,
                pos_left="5%",
                pos_top="center",
                max_=max_data,
            ),
        )
    )
    return map_chart

在这里插入图片描述

3.2 疫情动态时序折线图

# 折线图
def get_year_l(year_month,df_t, total_num):  
    line_chart = (
        Line(init_opts=opts.InitOpts(theme='dark', width="1000px", height="600px", bg_color='#0d0735'))
        .add_xaxis(time_list)
        .add_yaxis(
            "",
            total_num,
            label_opts=opts.LabelOpts(is_show=False)
        )
        .set_global_opts(
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30)),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                is_calculable=True,
                pos_left="5%",
                pos_top="center",
                max_=200000,
            ),
            title_opts=opts.TitleOpts(
                title=f"{year_month}月全国疫情",
                pos_top="2%",
                pos_left="2%",
                title_textstyle_opts=opts.TextStyleOpts(font_size=24,color="#fff200"),
            ),
        )
    )
    return line_chart

在这里插入图片描述

3.3 疫情动态时序柱状图

# 柱状图
def get_year_b(year_month,df_t):    
    bar_chart = (
        Bar(init_opts=opts.InitOpts(theme='dark', width="1000px", height="600px", bg_color='#0d0735'))
        .add_xaxis(xaxis_data=names)
        .add_yaxis(
            series_name="",
            y_axis=total_confirms,
            label_opts=opts.LabelOpts(
                is_show=True, position="right", formatter="{b} : {c}"
            ),
        )
        .reversal_axis()
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title=f"{year_month}月全国疫情",
                pos_top="2%",
                pos_left="2%",
                title_textstyle_opts=opts.TextStyleOpts(font_size=24,color="#fff200")
            ),
            xaxis_opts=opts.AxisOpts(max_=80000),
            yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(is_show=False)),
            visualmap_opts=opts.VisualMapOpts(
                is_calculable=True,
                textstyle_opts=opts.TextStyleOpts(color="#ddd"),
                min_=0,
                max_=10000 ,
            ),
        )
    )
    return bar_chart

在这里插入图片描述

3.4 疫情动态时序扇形图

# 扇形图
def get_year_p(year_month,df_t):    
    pie_chart = (
        Pie(init_opts=opts.InitOpts(theme='dark', width="1000px", height="600px", bg_color='#0d0735'))
        .add(
            series_name="",
            data_pair=pie_data,
            radius=["25%", "50%"],
            center=["50%", "55%"],
            label_opts=opts.LabelOpts(formatter="{b} {c}")
        )
        .set_global_opts(
            legend_opts=opts.LegendOpts(is_show=False),
            title_opts=opts.TitleOpts(
                title=f"{year_month}月全国疫情",
                pos_top="2%",
                pos_left="2%",
                title_textstyle_opts=opts.TextStyleOpts(font_size=24,color="#fff200")
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                min_=0,
                max_=10000 ,
            ),
        )
    )
    return pie_chart

在这里插入图片描述

🏳️‍🌈 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/536984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Maven中scope(作用范围)详解

目录 一、依赖传递二、依赖范围三、依赖范围对传递依赖的影响四、依赖调节五、可选依赖六、排除依赖七、依赖归类八、依赖管理 一、依赖传递 Maven 依赖传递是 Maven 的核心机制之一,它能够一定程度上简化 Maven 的依赖配置。 如下图所示,项目 A 依赖于…

黄牛为什么能抢走“五月天”的门票?

目录 “史上最难抢票”的五月天演唱会 黄牛为什么能抢到票 黄牛抢票带来哪些坏影响 售票平台为什么挡不住黄牛? 管理上如何有效防控黄牛 技术上如何有效防黄牛 相关技术产品推荐 随着文娱活动的复苏,大量黄牛“卷土袭来”。顶象防御云业务安全情报…

【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好

大家好,欢迎来到停止重构的频道。 我们之前讨论过直播协议,本期我们讨论在线点播的视频格式。 也就是网络视频文件、短视频常用的格式 如MP4、FLV、HLS等。 我们将详细讨论在线点播场景下,这些视频格式的优劣以及原因。 我们按这样的顺序…

分享几个冷门但实用的网站!

今天给大家推荐几个冷门但实用的网站,免费又好用对于打工人来讲十分友好。 Img Cleaner https://imgcleaner.com/ 一个免费的AI智能图片去水印网站,不用注册登录就可以使用,而且操作也比较简单,上传图片之后调整画笔大小&#xf…

小黑子—Java从入门到入土过程:第十章 - 多线程

Java零基础入门10.0 Java系列第十章- 多线程1. 初识多线程2. 并发和并行3. 多线程的实现方式3.1 一:继承Thread类方式实现3.2 二:实现Runnable接口的方式实现3.3 三:利用Callable接口和Future接口方式实现 4. 多线程中常见的成员方法4.1 线程…

❤ Manifest version 2 is deprecated, and support will be removed in 2023. See..

❤谷歌插件开发遇到的问题 开发谷歌插件提示: ❤js 开发谷歌插件提示 提示 Manifest version 2 is deprecated, and support will be removed in 2023. See… 当导入到chrome,提示如下错误: Manifest version 2 is deprecated, and suppo…

物联网:智慧城市还要做的事情

摘要:本文简介关于智慧城市,还有哪些需要做的事情。 1.传统城市需要向智慧城市转型 传统的城市中心已被证明不足以满足社会当前和未来的各种需求,这增加了应用智慧城市理念的需求。智慧城市可以对健康、交通、休闲和工业等多个领域产生重大…

VLC可见光通信:2、高速LED驱动电路

背景 在VLC可见光通信中,需要高速的控制LED的通断,因此需要高速LED驱动电路。 文中出现的低压是指24V电压以下,中压是指24V~60V电压,高压是指60V ~ 160V。 低速是指500KHZ以下,高速是指2MHZ。 小功率是指20W以下,大功率指20W~100W。 低压小功率LED低速&高速:20W、…

你是时候拥抱chatgpt了

随着chatgpt热度不断上升,chatgpt已经广泛应用到各个行业了,很多人都感觉自己地位受到威胁,有人预测chatgpt会取代80%程序员的工作,我也用了chatgpt有几个月了,不得不说是真的牛逼。我甚至用它写了一个python的聊天脚本…

MapReduce计算广州2022年每月最高温度

目录 数据集 1.查询地区编号 2.数据集的下载 编写MapReduce程序输入格式 输出格式 Mapper类 确定参数 代码 Reducer类 思路 代码 Runner类 运行结果 数据集 1.查询地区编号 NCDC是美国国家气象数据中心的缩写,是一个负责收集、存储和分发全球气象和气…

C#中将32位二进制转换为float【Real】十进制类型

已知一个32位二进制字符串,转换为float【Real】十进制。 参考本人一篇博客 float数转二进制 C#关于32位浮点数Float(Real)一步步按位Bit进行解析_real32位浮点数_斯内科的博客-CSDN博客 现在是32位二进制转化为十进制浮点数,C#有…

电动汽车入网技术(V2G)调度优化(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 近年来我国电动汽车行业飞速发展,其中电动汽车入网技术(vehicle-to-grid,V2G)在…

RapidScada Linux安装教程

官方安装步骤:在 Linux上安装 - Rapid SCADA,安装过程中遇到一些坑,记录详细步骤。 官方推荐的Ubuntu,未测试Centos 1. 安装ASP.Net运行环境(Runtime) 下载地址:下载 .NET 6.0 (Linux、macOS 和 Windows)&a…

selenium还能这么玩:连接已经存在的浏览器

测试和爬虫对selenium并不会陌生,现有的教程已经非常多。但是因为 selenium 封装的方法比较底层,所以灵活性非常高,我们可以基于这种灵活性来实现非常丰富的定制功能。 这篇文章介绍一个操作,可以让 selenium 连接我们手动打开的…

AI绘画-Midjourney基础2-超强二次元风格模型 niji 5

niji 模型是 mj 的一种模型,可以生成二次元风格的图片。 在控制台输入 /settings 指令,进入设置页面。 选择第二行的 Niji version 5 模型,就可以创作二次元风格的图片了! 一、expressive 风格 expressive 风格是 niji 5 模型的默认风格。 Step into the world :: of a …

14个最佳创业企业WordPress主题

要创建免费网站?从易服客建站平台免费开始 500M免费空间,可升级为20GB电子商务网站 创建免费网站 您网站的设计使您能够展示产品的独特卖点。通过正确的主题,您将能够解释为什么客户应该选择您的品牌而不是其他品牌。 在本文中&#xff0…

信息(文档)和配置管理

信息(文档) 配置管理 小改动增加Y的值,大改动增加X的值 配置控制

jRebel实现热部署以及云热部署

idea使用jRebel教程很多,不再累述 服务器部署jRebel 1.下载激活工具(github,别忘了加速):下载链接 因为是linux,固下载下方资源 放进服务器执行下方命令运行,port就是端口号,看着改,我用的888…

什么是GHZ?炫云到底是怎么收费的?

作为一家云渲染“老牌”服务商,炫云的行业资历无疑是悠久的。在广大用户的支持与认可下,炫云砥砺前行迎来蓬勃发展。注册用户体量的剧增,为炫云带来了更多新面孔。在客服汇总的新用户常见问题里,有关“GHZ”与“收费”的字眼出现频…

Hyperf使用WebSocket 服务

1.安装服务 composer require hyperf/websocket-server2.配置 Server 修改 config/autoload/server.php&#xff0c;增加以下配置。 <?phpdeclare(strict_types1); /*** This file is part of Hyperf.** link https://www.hyperf.io* document https://hyperf.wiki*…