【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive数据可视化中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析)

本文主要是介绍【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive数据可视化中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 专栏说明
    • 一、效果图展示
      • 1.1 水平条形图
      • 1.2 竖直条形图
      • 2. 折线图
      • 3. 散点图
      • 4.饼状图
      • 5. 气泡图
      • 6.1 地理空间点图
      • 6.2 多边形地理空间图
      • 7.多个图表
      • 8.城市人口
      • 9.G7国家的预期寿命
    • 10. 新南威尔士州 COVID 可视化
    • 二、专栏学习说明
      • 资源下载
    • API汇总
    • 三、环境配置与检测
      • 使用我的venv环境
      • test检测配置是否成功
    • 四、数据集说明
    • 五、常见问题
      • 1.gif动图生成等待
      • 2.图中出现中文
      • 3.参数最多15个的限制取消方法
      • 4.Animation was deleted without rendering anything.不影响生成动图
      • 5. 关于安装库失败,比如说无法安装geopandas和contextily
      • 6.地理空间图无法添加title
      • 7.TypeError: 'MovieWriterRegistry' object is not an iterator
    • 1.条形图
      • 条形图API说明:
      • 条形图数据集
      • 1.1 水平条形图例程
      • 1.2 竖直条形图例程
    • 2.折线图
      • 折线图API说明:
      • 折线图数据集
      • 折线图例程
    • 3.散点图
      • 散点图API说明:
      • 散点图数据集
      • 散点图例程
    • 4.饼状图
      • 饼状图API说明:
      • 饼状图数据集
      • 饼状图例程
    • 5.气泡图
      • 气泡图API说明:
      • 气泡图数据集
      • 气泡图例程
    • 6.地理空间图
    • 6.1 地理空间点图
      • 地理空间点图API说明:
      • 地理空间点图数据集
      • 地理空间点图例程
    • 6.2 多边形地理空间图
      • 多边形地理空间图API说明:
      • 多边形地理空间图数据集
      • 多边形地理空间图例程
    • 7.多个图表
      • 多个图表API说明:
      • 多个图表数据集
      • 多个图表例程
    • 8.城市人口
      • 城市人口API说明:
      • 城市人口数据集
      • 城市人口图例程
    • 9.G7国家的预期寿命
      • G7国家的预期寿命图API说明:
      • G7国家的预期寿命图数据集
      • G7国家的预期寿命图例程
    • 10.新南威尔士州 COVID 可视化
      • 新南威尔士州 COVID 可视化API说明:
      • 新南威尔士州 COVID 可视化数据集
      • 新南威尔士州 COVID 可视化例程
    • 总结


大家觉得有用的话,给个👍,点个关注,放进收藏夹吃灰,我会继续给大家分享学习笔记!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-1-13

欢迎关注 『pandas_alive绘制竞赛动图』 专栏,持续更新中
欢迎关注 『pandas_alive绘制竞赛动图』 专栏,持续更新中

专栏说明

【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析)

折腾了一星期,梳理了很多入门小白避雷的方法,还会继续更新,如果看了对你有帮助,希望得到大家的点赞👍收藏支持!(毕竟时短间学完太难了,建议放进收藏夹吃灰

本专栏学习笔记基于JackMcKew开发的pandas_alive这一开源项目。

  • 实际运行中原来的项目从网络上获取数据集有时候因为网络原因会失败,我进行了调整,从网络读取数据集的部分改为下载使用,更稳定。(作者的初衷应该是为了能够即时更新)
  • 很多微信公众号都是直接把JackMcKew的GitHub的readme直接贴过来,我怀疑他们根本没有自己运行过,我看很多地方都是你抄我,我抄你,抄来抄去一模一样但是都没有个中文文档注释说明,也没说怎么解决我们国人自己使用时需要加入中文等要求,我花了一个星期琢磨总算明白了一些使用的说明。
  • 本文是我自己写的初学者入门学习笔记,欢迎大家批评指正,欢迎评论区留言进行学习讨论。(没有找到中文说明文档有些参数我是自己慢慢改参数试出来的,如果理解有误请见谅)。
  • 有部分图我怀疑是数据对不上了,比说10.新南威尔士州疫情 COVID 可视化,获取数据的接口出现了问题,我暂时没有什么能用的数据,大家有兴趣找数据可以尝试。
  • 气泡图要安装迭代器,额外配置安装ffmpeg安装ffmpeg的安装配置和python中使用ffmpy(保姆级图文)

一、效果图展示

如果图片空着,说明我还没有画出来,环境配置没到位。

1.1 水平条形图

在这里插入图片描述

1.2 竖直条形图

在这里插入图片描述

2. 折线图

图片为了能上传经过压缩,你自己生成的效果应该更好一点!
在这里插入图片描述

3. 散点图

图片为了能上传经过压缩,你自己生成的效果应该更好一点!
在这里插入图片描述

4.饼状图

在这里插入图片描述

5. 气泡图

在这里插入图片描述

6.1 地理空间点图

在这里插入图片描述

6.2 多边形地理空间图

在这里插入图片描述

7.多个图表

在这里插入图片描述

8.城市人口

在这里插入图片描述

9.G7国家的预期寿命

在这里插入图片描述

10. 新南威尔士州 COVID 可视化

数据集接口异常,使用了项目作者的原图。(不是我绘制的)
在这里插入图片描述


二、专栏学习说明

【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析)

折腾了一星期,梳理了很多入门小白避雷的方法,还会继续更新,如果看了对你有帮助,希望得到大家的点赞👍收藏支持!(毕竟时短间学完太难了,建议放进收藏夹吃灰

本专栏学习笔记基于JackMcKew开发的pandas_alive这一开源项目。

  • 实际运行中原来的项目从网络上获取数据集有时候因为网络原因会失败,我进行了调整,从网络读取数据集的部分改为下载使用,更稳定。(作者的初衷应该是为了能够即时更新)
  • 很多微信公众号都是直接把JackMcKew的GitHub的readme直接贴过来,我怀疑他们根本没有自己运行过,我看很多地方都是你抄我,我抄你,抄来抄去一模一样但是都没有个中文文档注释说明,也没说怎么解决我们国人自己使用时需要加入中文等要求,我花了一个星期琢磨总算明白了一些使用的说明。
  • 本文是我自己写的初学者入门学习笔记,欢迎大家批评指正,欢迎评论区留言进行学习讨论。(没有找到中文说明文档有些参数我是自己慢慢改参数试出来的,如果理解有误请见谅)。
  • 有部分图我怀疑是数据对不上了,比说10.新南威尔士州疫情 COVID 可视化,获取数据的接口出现了问题,我暂时没有什么能用的数据,大家有兴趣找数据可以尝试。
  • 气泡图要安装迭代器,额外配置安装ffmpeg安装ffmpeg的安装配置和python中使用ffmpy(保姆级图文)

资源下载

数据集合测试代码的文件都放在码云上

https://gitee.com/miao-zehao/pandas-live-game-graph

在这里插入图片描述

API汇总


三、环境配置与检测

在工作目录下一定要有必要的文件,框选的内容都是不可缺少的。
在这里插入图片描述

使用我的venv环境

不会使用venv,可以参考我的说明文章虚拟环境的安装和配置-virtualenv 合集(有pycharm图形化界面操作+无pycharm命令行操作的保姆级图文)

或者使用我提供的最新可用requirement.txt(原GitHub问题比较多)

在这里插入图片描述
在这里插入图片描述

本来要安装必要的库,原作者给的requirements.txt有些包的版本冲突比如urllib3库版本号区别
在这里插入图片描述
还有作者的requirements中没有提到但是实际上用到的(属实让我debug了好久)
PIL库(python3已经改名为Pillow库,安装Pillow就可以了)和tqdm库还有在绘制地理空间图时要安装descartes库
我都帮大家装好了虚拟环境venv直接下载使用,你不需要进行繁琐的第三方库安装了,建议直接用我资源里面的venv虚拟环境

test检测配置是否成功

作者提供了三个test程序,如果检测pass说明你的环境配置是ok的

  1. test_base.py
    测试能不能获取在线数据集,这个可有可无,偶尔通过偶尔通不过,因为是GitHub上面的数据,网络问题懂得都懂。
    在这里插入图片描述

  2. test_plot.py
    最重要的test!决定能不能出图
    在这里插入图片描述

  3. test_charts.py
    这个报错问题不大,可能是因为作者的测试文件命名的问题
    在这里插入图片描述

  4. 关键!运行完3个测试文件后能不能生成这个test.gif图
    在这里插入图片描述
    test.gif
    在这里插入图片描述

四、数据集说明

  • 读取得到的数据是pandas库下的DataFrame格式
  • 有一列数据是时间数据,一般都是第0列是时间数据,表示一些日期时间,是竞赛动图的时间轴
    时间能够被pd.read_csv读取csv数据时候的parse_dates参数解析,类似格式如下:
    • 2022-1-12
    • 2022/1/22
  • 我在绘制竖直条形图时,当我的数据参数数量大于15个,会报错UserWarning: Plotting too many bars may result in undesirable output, use n_visible=15 to limit number of bars warnings.warn(,要求15个之内。
    在这里插入图片描述
  • 数据集不能有中文,如果要有中文,需要额外自己导入中文字体。
######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
##################################################

打印一份可用的数据集供大家参考
在这里插入图片描述
在这里插入图片描述

本专栏读取数据一般习惯用pd. read_csv,可阅读 https://blog.csdn.net/weixin_44056331/article/details/89366105 得到更多关于读取csv方法的api说明,后面专栏的文章不再赘述读取数据的问题,一些简单常用的参数说明:

index_col=0
表示第0列为index值在上面的数据中就是时间,建议把时间放第0列

parse_dates=[0]
表示把第0列解析为时间格式内容

thousands=’,’
表示千分位用“,”间隔


五、常见问题

本栏目会不断更新,收集评论区的问题,一起讨论避坑。

1.gif动图生成等待

图中第一行显示的是竞赛图中每位竞赛者。

生成动图中,数据量越大生成时间越长,需要耐心等待(我一开始学习的时候还以为运行失败了,运行到一半,一直重复运行,一直出不了图,还卡死了·······这个时候要耐心等待,看你电脑配置)
在这里插入图片描述
生成成功,如果飘红报错那就是有问题了
在这里插入图片描述


2.图中出现中文

需要导入中文字体

######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################

因为用下载好的线下数据集代替了线上数据集,读取需要用到pands库

import pandas as pd

3.参数最多15个的限制取消方法

在开发者的源文件看到,为了防止渲染图片死机,对于属性限制15个,讲道理改动这个,你的电脑配置好一点,应该是能绘制更多属性的。(我电脑不太行,我没试过!)
在这里插入图片描述


4.Animation was deleted without rendering anything.不影响生成动图

其实很离谱,我本来没有报错的,但是安装了geopandas库和geopandas库需要的4个库之后反正莫名其妙开始报错了(也有可能是安装geopandas库的时候升级了部分库导致的)
但是这个只是提醒,不影响出图。

matplotlib\animation.py:889: UserWarning: Animation was deleted without rendering anything. This is most likely not intended. To prevent deletion, assign the Animation to a variable, e.g. `anim`, that exists until you have outputted the Animation using `plt.show()` or `anim.save()`.warnings.warn(

这是一个用户警告:即为我们操作不规范导致的警告,它告诉我们FixedFormatter(刻度形式) 只能与 FixedLocator定位器 一起使用,而不能使用其他方法改变刻度形式!!!
图的x轴刻度转换成浮点数,但是不影响生成动图。
在这里插入图片描述


5. 关于安装库失败,比如说无法安装geopandas和contextily

安装geopandas和contextily手把手从零开始(保姆级图文+安装所需的文件下载)

原作者给的requirements.txt一些问题
有些包的版本冲突比如urllib3库版本号区别
在这里插入图片描述

  • Pillow库 作者的requirements中没有提到但是实际上用到的(属实让我debug了好久)
    PIL库(python3已经改名为Pillow库,安装Pillow就可以了)和
  • tqdm库还有在
  • 绘制地理空间图时要安装descartes库
    我都帮大家装好了虚拟环境venv直接下载使用,你不需要进行繁琐的第三方库安装了,还是建议直接用我资源里面的venv虚拟环境

6.地理空间图无法添加title

我发现了项目的bug
在这里插入图片描述
没有标题的·····


7.TypeError: ‘MovieWriterRegistry’ object is not an iterator

If you get an error such as `TypeError: 'MovieWriterRegistry' object is not an iterator`, this signals there isn't a writer library installed on your machine.
如果出现诸如“TypeError:”MovieWriterRegistry“对象不是迭代器”之类的错误,这表示您的计算机上没有安装writer库。
此软件包使用[matplotlib.animation函数](https://matplotlib.org/3.2.1/api/animation_api.html),因此需要编写器库。
  • 气泡图要安装迭代器,额外配置安装ffmpeg
  • 安装ffmpeg的安装配置和python中使用ffmpy(保姆级图文)

1.条形图

条形图API说明:

df.fillna(0).plot_animated(‘1.水平条形图.gif’, period_fmt="%Y-%m-%d",
title=‘发现你走远了——1.水平条形图’, fixed_max=True,
fixed_order=True)
df.fillna(0).plot_animated(参数1, period_fmt="%Y-%m-%d",
title=‘发现你走远了——1.水平条形图’, fixed_max=True,
fixed_order=True)

  • 参数1 生成图片名字.gif

period_fmt="%Y-%m-%d %H:%M:%S"
格式化成2022-01-12 5:30:00形式,可选可省略缺省 表示格式化时间输出在图片的右下角

fixed_max 是否固定背景图中背景条框
True固定背景图中背景条框
在这里插入图片描述

false 不固定背景图中背景条框
在这里插入图片描述

fixed_order 是否固定竞赛者条目,就是各个竞赛者的位次会不会变化

  • True 固定竞赛者条目
    在这里插入图片描述
  • false 固定竞赛者条目
    在这里插入图片描述

orientation=‘h’
orientation=‘v’
条形图的方向是水平还是竖直

  • h 水平 (默认)
  • v 竖直

perpendicular_bar_func=‘max’
增加一条全部数据的阴影部分辅助观看

  • max 阴影部分数值为最大值
  • mean 阴影部分数值为平均值
  • min 阴影部分数值为最小值

条形图数据集

保存为文件Aus_Elec_Gen_1980_2018.csv使用,建议通过码云下载

,  Black coal,  Brown coal,  Natural gas,  Oil products,  Other a,  Biomass,  Wind,  Hydro,Large-scale solar PV,  Small-scale solar PV,  Geothermal
1989,87573.00,33594.00,14359.00,3552.00,,750.00,,14880.00,,,
1990,89511.00,36048.00,10772.00,3396.00,,769.00,,16103.00,,,
1991,94325.10,34559.00,11633.00,2362.00,,670.00,,15768.00,,10.90,
1992,97872.70,33248.00,12295.00,2421.00,,670.00,,16953.00,,13.30,
1993,100544.10,34890.00,12199.00,2320.00,,670.00,4.00,16649.00,,15.90,
1994,102522.10,35832.00,14913.00,2738.00,,723.00,7.00,16239.00,,18.90,
1995,106089.60,39427.00,12445.00,2805.00,,928.00,7.00,15731.00,,23.40,
1996,109452.20,41893.00,11426.00,2175.00,,965.00,7.00,16852.00,,27.80,
1997,116969.50,46633.00,12934.00,1821.00,,1029.00,8.00,15733.00,,33.50,
1998,118586.30,49703.00,16001.00,1729.00,,1133.00,28.00,16563.00,,37.70,
1999,123833.50,50200.00,16245.00,1784.00,,1134.00,58.00,16720.00,,43.50,
2000,134264.00,52223.00,17271.00,2044.00,,645.00,210.00,16933.00,,50.00,
2001,116774.70,56493.00,31730.00,2446.00,,950.00,364.00,16054.00,,58.30,
2002,115296.60,55160.30,29375.30,1661.00,1792.20,1583.60,703.10,16490.00,,58.30,
2003,121182.30,55572.80,30919.40,1388.70,1817.00,1799.50,705.00,16331.10,,68.10,0.50
2004,127788.50,53377.80,23802.90,2841.00,434.00,3830.00,885.00,15612.20,,77.80,0.50
2005,130231.60,54552.80,22725.90,3058.00,517.00,3911.00,1713.10,16029.20,,90.30,0.50
2006,132368.50,54375.80,31849.90,2893.00,479.00,3953.00,2611.10,14517.00,,104.70,0.50
2007,129569.30,54658.70,34955.80,4058.00,106.00,4596.00,3093.10,12056.90,,122.80,0.50
2008,127270.50,56981.40,37660.40,3388.00,3579.90,2795.20,3823.80,11869.40,,155.60,0.50
2009,123724.50,56068.30,44585.40,3106.80,2991.00,2777.40,5051.70,13548.70,,424.90,0.50
2010,116948.80,55298.10,48996.20,3093.80,2716.10,2101.70,6084.90,16806.70,,1530.40,0.50
2011,116654.40,55067.70,48571.60,2702.50,1088.10,3043.75,6969.70,14083.30,,2558.70,0.50
2012,111491.10,47555.10,51053.40,4464.30,1945.30,3143.50,7959.60,18269.60,,3826.30,0.50
2013,106965.50,46076.20,54393.90,5012.40,,3499.39,10252.00,18421.00,49.68,4366.28,0.50
2014,107639.40,50970.30,52916.91,6828.45,,3592.23,11466.60,13445.00,107.22,5424.11,0.60
2015,114294.98,48795.86,50536.08,5655.62,,3789.89,12199.50,15318.18,457.21,6381.05,0.22
2016,118272.30,43557.76,50459.75,5272.59,,3500.55,12596.99,16284.89,672.40,7399.26,0.50
2017,121592.60,36067.00,53839.39,5262.60,,3534.09,14989.42,15838.82,1007.58,8922.36,

1.1 水平条形图例程

# @Time    : 2022/1/12 11:46
# @Author  : 南黎
# @FileName: 1.1水平条形图.py
import pandas as pd
import pandas_alive######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################df = pd.read_csv("数据源data/Aus_Elec_Gen_1980_2018.csv", index_col=0, parse_dates=[0], thousands=',')df.fillna(0).plot_animated('1.1水平条形图.gif', period_fmt="%Y-%m-%d",title='发现你走远了——1.1水平条形图', fixed_max=False,perpendicular_bar_func='mean',fixed_order=False)

在这里插入图片描述


1.2 竖直条形图例程

# @Time    : 2022/1/12 13:24
# @Author  : 南黎
# @FileName: 1.2竖直条形图.py
import pandas_alive
import pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################df = pd.read_csv("数据源data/Aus_Elec_Gen_1980_2018.csv", index_col=0, parse_dates=[0], thousands=',')df.plot_animated(filename='1.2竖直条形图.gif', title='发现你走远了——1.2竖直条形图',perpendicular_bar_func='min', orientation='v')

在这里插入图片描述


2.折线图

折线图API说明:

diff()

  • 写diff()一般都够用。进阶的理解diff(X):对于一个向量来说,diff(X)就是 [X(2)-X(1) X(3)-X(2) … X(n)-X(n-1)] 也就是说求相邻2点的距离。对于一个矩阵来说,结果是:[X(2:n,:) - X(1:n-1,:)];对于一个N*D的矩阵,结果是后一行减前一行的差值。

fillna(0)

  • 空值设置为0

kind=‘line’,

  • 'line’表示图表类型为折线图,缺省为条形图

period_label={‘x’: 0.25, ‘y’: 0.9}#x,y坐标的周期
period_label={‘x’: 参数1, ‘y’: 参数2}#x,y坐标的周期

  • 参数1 x方向周期
  • 参数2 y方向周期

折线图数据集

保存为文件covid19.csv使用,建议通过码云下载

date,Belgium,Brazil,Canada,China,France,Germany,India,Indonesia,Iran,Ireland,Italy,Mexico,Netherlands,Portugal,Spain,Sweden,Switzerland,Turkey,USA,United Kingdom
2020-02-26,,,,2717.0,2.0,,,,19.0,,12.0,,,,,,,,,
2020-02-27,,,,2746.0,2.0,,,,26.0,,17.0,,,,,,,,,
2020-02-28,,,,2790.0,2.0,,,,34.0,,21.0,,,,,,,,,
2020-02-29,,,,2837.0,2.0,,,,43.0,,29.0,,,,,,,,1.0,
2020-03-01,,,,2872.0,2.0,,,,54.0,,34.0,,,,,,,,1.0,
2020-03-02,,,,2914.0,3.0,,,,66.0,,52.0,,,,,,,,6.0,
2020-03-03,,,,2947.0,4.0,,,,77.0,,79.0,,,,1.0,,,,7.0,
2020-03-04,,,,2983.0,4.0,,,,92.0,,107.0,,,,2.0,,,,11.0,
2020-03-05,,,,3015.0,6.0,,,,107.0,,148.0,,,,3.0,,1.0,,12.0,1.0
2020-03-06,,,,3044.0,9.0,,,,124.0,,197.0,,1.0,,5.0,,1.0,,14.0,2.0
2020-03-07,,,,3072.0,11.0,,,,145.0,,233.0,,1.0,,10.0,,1.0,,17.0,2.0
2020-03-08,,,,3100.0,19.0,,,,194.0,,366.0,,3.0,,17.0,,2.0,,21.0,3.0
2020-03-09,,,1.0,3123.0,19.0,2.0,,,237.0,,463.0,,3.0,,28.0,,2.0,,22.0,4.0
2020-03-10,,,1.0,3139.0,33.0,2.0,,,291.0,,631.0,,4.0,,35.0,,3.0,,28.0,6.0
2020-03-11,3.0,,1.0,3161.0,48.0,3.0,1.0,1.0,354.0,1.0,827.0,,5.0,,54.0,1.0,4.0,,32.0,8.0
2020-03-12,3.0,,1.0,3172.0,48.0,3.0,1.0,1.0,429.0,1.0,1000.0,,5.0,,55.0,1.0,4.0,,40.0,8.0
2020-03-13,3.0,,1.0,3180.0,79.0,7.0,2.0,4.0,514.0,1.0,1266.0,,10.0,,133.0,1.0,11.0,,48.0,8.0
2020-03-14,4.0,,1.0,3193.0,91.0,9.0,2.0,5.0,611.0,2.0,1441.0,,12.0,,195.0,2.0,13.0,,54.0,21.0
2020-03-15,4.0,,1.0,3203.0,91.0,11.0,2.0,5.0,724.0,2.0,1809.0,,20.0,,289.0,3.0,14.0,,60.0,21.0
2020-03-16,5.0,,4.0,3217.0,149.0,17.0,2.0,5.0,853.0,2.0,2158.0,,24.0,,342.0,6.0,14.0,,84.0,56.0
2020-03-17,10.0,1.0,5.0,3230.0,149.0,24.0,3.0,5.0,988.0,2.0,2503.0,,43.0,1.0,533.0,7.0,27.0,1.0,107.0,56.0
2020-03-18,14.0,3.0,8.0,3241.0,149.0,28.0,3.0,19.0,1135.0,2.0,2978.0,,58.0,2.0,623.0,10.0,28.0,1.0,143.0,72.0
2020-03-19,21.0,6.0,9.0,3249.0,244.0,44.0,4.0,25.0,1284.0,3.0,3405.0,1.0,77.0,3.0,830.0,11.0,41.0,3.0,209.0,138.0
2020-03-20,37.0,11.0,12.0,3253.0,451.0,67.0,5.0,32.0,1433.0,3.0,4032.0,1.0,107.0,6.0,1043.0,16.0,54.0,4.0,260.0,178.0
2020-03-21,67.0,15.0,19.0,3259.0,563.0,84.0,6.0,38.0,1556.0,3.0,4825.0,2.0,137.0,12.0,1375.0,20.0,75.0,9.0,320.0,234.0
2020-03-22,75.0,25.0,21.0,3274.0,676.0,94.0,7.0,48.0,1685.0,4.0,5476.0,2.0,180.0,14.0,1772.0,21.0,98.0,30.0,427.0,282.0
2020-03-23,88.0,34.0,25.0,3274.0,862.0,123.0,10.0,49.0,1812.0,6.0,6077.0,3.0,214.0,23.0,2311.0,25.0,120.0,37.0,552.0,336.0
2020-03-24,122.0,46.0,26.0,3281.0,1102.0,157.0,10.0,55.0,1934.0,7.0,6820.0,4.0,277.0,33.0,2808.0,36.0,122.0,44.0,706.0,423.0
2020-03-25,178.0,59.0,30.0,3285.0,1333.0,206.0,12.0,58.0,2077.0,9.0,7503.0,5.0,357.0,43.0,3647.0,62.0,153.0,59.0,943.0,466.0
2020-03-26,220.0,77.0,38.0,3291.0,1698.0,267.0,20.0,78.0,2234.0,19.0,8215.0,6.0,435.0,60.0,4365.0,77.0,191.0,75.0,1210.0,580.0
2020-03-27,289.0,92.0,54.0,3296.0,1997.0,342.0,20.0,87.0,2378.0,22.0,9134.0,8.0,547.0,76.0,5138.0,105.0,231.0,92.0,1582.0,761.0
2020-03-28,353.0,111.0,61.0,3299.0,2317.0,433.0,24.0,102.0,2517.0,36.0,10023.0,12.0,640.0,100.0,5982.0,105.0,264.0,108.0,2182.0,1021.0
2020-03-29,431.0,136.0,64.0,3304.0,2611.0,533.0,27.0,114.0,2640.0,46.0,10779.0,16.0,772.0,119.0,6803.0,110.0,300.0,131.0,2566.0,1231.0
2020-03-30,513.0,159.0,80.0,3308.0,3030.0,645.0,32.0,122.0,2757.0,54.0,11591.0,20.0,865.0,140.0,7716.0,146.0,359.0,168.0,3112.0,1411.0
2020-03-31,705.0,201.0,101.0,3309.0,3532.0,775.0,35.0,136.0,2898.0,71.0,12428.0,28.0,1040.0,160.0,8464.0,180.0,433.0,214.0,4039.0,1793.0
2020-04-01,828.0,240.0,109.0,3316.0,4414.0,920.0,58.0,157.0,3036.0,85.0,13155.0,29.0,1175.0,187.0,9387.0,239.0,488.0,277.0,4995.0,2357.0
2020-04-02,1011.0,324.0,139.0,3322.0,5398.0,1107.0,72.0,170.0,3160.0,98.0,13915.0,37.0,1341.0,209.0,10348.0,308.0,536.0,356.0,6294.0,2926.0
2020-04-03,1143.0,359.0,179.0,3326.0,6520.0,1275.0,72.0,181.0,3294.0,120.0,14681.0,50.0,1490.0,246.0,11198.0,358.0,591.0,425.0,7418.0,3611.0
2020-04-04,1283.0,445.0,218.0,3330.0,7574.0,1444.0,86.0,191.0,3452.0,137.0,15362.0,60.0,1656.0,266.0,11947.0,373.0,666.0,501.0,8387.0,4320.0
2020-04-05,1447.0,486.0,259.0,3333.0,8093.0,1584.0,99.0,198.0,3603.0,158.0,15887.0,79.0,1771.0,295.0,12641.0,401.0,715.0,574.0,9489.0,4943.0
2020-04-06,1632.0,564.0,339.0,3335.0,8926.0,1810.0,136.0,209.0,3739.0,174.0,16523.0,94.0,1874.0,311.0,13341.0,477.0,765.0,649.0,10783.0,5385.0
2020-04-07,2035.0,686.0,375.0,3335.0,10343.0,2016.0,150.0,221.0,3872.0,210.0,17127.0,125.0,2108.0,345.0,14045.0,591.0,821.0,725.0,12798.0,6171.0
2020-04-08,2240.0,819.0,407.0,3337.0,10887.0,2349.0,178.0,240.0,3993.0,235.0,17669.0,141.0,2255.0,380.0,14792.0,687.0,895.0,812.0,14704.0,7111.0
2020-04-09,2523.0,950.0,503.0,3339.0,12228.0,2607.0,226.0,280.0,4110.0,263.0,18279.0,174.0,2403.0,409.0,15447.0,793.0,948.0,908.0,16553.0,7993.0
2020-04-10,3019.0,1057.0,557.0,3340.0,13215.0,2767.0,246.0,306.0,4232.0,287.0,18849.0,194.0,2520.0,435.0,16081.0,870.0,1002.0,1006.0,18595.0,8974.0
2020-04-11,3346.0,1124.0,654.0,3343.0,13851.0,2894.0,288.0,327.0,4357.0,320.0,19468.0,233.0,2653.0,470.0,16606.0,887.0,1036.0,1101.0,20471.0,9892.0
2020-04-12,3600.0,1223.0,714.0,3343.0,14412.0,3022.0,331.0,373.0,4474.0,334.0,19899.0,273.0,2747.0,504.0,17209.0,899.0,1106.0,1198.0,22032.0,10629.0
2020-04-13,3903.0,1328.0,779.0,3345.0,14986.0,3194.0,358.0,399.0,4585.0,365.0,20465.0,296.0,2833.0,535.0,17756.0,919.0,1138.0,1296.0,23546.0,11347.0
2020-04-14,4157.0,1532.0,899.0,3345.0,15748.0,3294.0,393.0,459.0,4683.0,406.0,21067.0,332.0,2955.0,567.0,18056.0,1033.0,1174.0,1403.0,25854.0,12129.0
2020-04-15,4440.0,1736.0,1006.0,3346.0,17188.0,3804.0,405.0,469.0,4777.0,444.0,21645.0,406.0,3145.0,599.0,18708.0,1203.0,1239.0,1518.0,28341.0,12894.0
2020-04-16,4857.0,1924.0,1257.0,3346.0,17941.0,4052.0,448.0,496.0,4869.0,486.0,22170.0,449.0,3327.0,629.0,19315.0,1333.0,1281.0,1643.0,32933.0,13759.0
2020-04-17,5163.0,2141.0,1354.0,4636.0,18703.0,4352.0,486.0,520.0,4958.0,530.0,22745.0,486.0,3471.0,657.0,20002.0,1400.0,1327.0,1769.0,36790.0,14607.0
2020-04-18,5453.0,2354.0,1399.0,4636.0,19345.0,4459.0,521.0,535.0,5031.0,571.0,23227.0,546.0,3613.0,687.0,20043.0,1511.0,1368.0,1890.0,38671.0,15498.0
2020-04-19,5683.0,2462.0,1563.0,4636.0,19744.0,4586.0,559.0,582.0,5118.0,610.0,23660.0,650.0,3697.0,714.0,20453.0,1540.0,1393.0,2017.0,40664.0,16095.0
2020-04-20,5828.0,2587.0,1725.0,4636.0,20292.0,4862.0,592.0,590.0,5209.0,687.0,24114.0,686.0,3764.0,735.0,20852.0,1580.0,1429.0,2140.0,42097.0,16550.0
2020-04-21,5998.0,2741.0,1908.0,4636.0,20829.0,5033.0,645.0,616.0,5297.0,730.0,24648.0,712.0,3929.0,762.0,21282.0,1765.0,1478.0,2259.0,44447.0,17378.0
2020-04-22,6262.0,2906.0,2075.0,4636.0,21373.0,5279.0,681.0,635.0,5391.0,769.0,25085.0,857.0,4068.0,785.0,21717.0,1937.0,1509.0,2376.0,46628.0,18151.0

折线图例程

# @Time    : 2022/1/12 19:37
# @Author  : 南黎
# @FileName: 2.折线图.py
import pandas_alive
import pandas as pd
######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################df = pd.read_csv("数据源data/covid19.csv", index_col=0, parse_dates=[0], thousands=',')# diff() 你就写diff()一般都够用。进阶的理解diff(X):对于一个向量来说,diff(X)就是 [X(2)-X(1) X(3)-X(2) … X(n)-X(n-1)] 也就是说求相邻2点的距离。对于一个矩阵来说,结果是:[X(2:n,:) - X(1:n-1,:)];对于一个N*D的矩阵,结果是后一行减前一行的差值。
# fillna(0) 空值设置为0
# period_label={'x':0.25,'y':0.9} 表示df.diff().fillna(0).plot_animated(filename='2.折线图.gif',title='发现你走远了——2.折线图',kind='line',#图表类型为折线图period_label={'x': 0.25, 'y': 0.9}#x,y坐标的周期
)

图片为了能上传经过压缩,你生成的效果应该更好一点!
在这里插入图片描述


3.散点图

会出现提醒:

E:\allworkspace\python work space\Python动态图_pandas_alive\pandas_alive\charts.py:420: UserWarning: Discarding nonzero nanoseconds in conversionsuper().set_x_y_limits(self.df, i, self.ax)

在这里插入图片描述
意思是用户警告:在转换 super().set_x_y_limits(self.df, i, self.ax) 中丢弃非零纳秒,我理解应该是精度的丢失,不影响出图的。

散点图API说明:

parse_dates={“Timestamp”: [“Year”, “Month”, “Day”]}

  • 解析数据为年-月-日格式

dt.strftime(’%Y/%m/%d’)

  • 标准化这一列数据格式输出 年-月-日

kind=‘scatter’,

  • kind=“scatter”,图表类型为散点图

keep_columns = [“Minimum temperature (Degree C)”, “Maximum temperature (Degree C)”]

  • 设置图例内容

散点图数据集

Newcastle_Australia_Max_Temps.csv
Newcastle_Australia_Min_Temps.csv
数据量过大,移步码云下载数据集

https://gitee.com/miao-zehao/pandas-live-game-graph

在这里插入图片描述

散点图例程

# @Time    : 2022/1/12 19:57
# @Author  : 南黎
# @FileName: 3..pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import pandas as pd
import pandas_alivemax_temp_df = pd.read_csv("数据源data/Newcastle_Australia_Max_Temps.csv",parse_dates={"Timestamp": ["Year", "Month", "Day"]},
)
min_temp_df = pd.read_csv("数据源data/Newcastle_Australia_Min_Temps.csv",parse_dates={"Timestamp": ["Year", "Month", "Day"]},
)merged_temp_df = pd.merge_asof(max_temp_df, min_temp_df, on="Timestamp")merged_temp_df.index = pd.to_datetime(merged_temp_df["Timestamp"].dt.strftime('%Y/%m/%d'))#设置图例内容
keep_columns = ["Minimum temperature (Degree C)", "Maximum temperature (Degree C)"]merged_temp_df[keep_columns].resample("Y").mean().plot_animated(filename='3.散点图.gif',kind="scatter",#图表类型为散点图title='发现你走远了——3.散点图'
)

在这里插入图片描述


4.饼状图

饼状图API说明:

kind=‘pie’,

  • kind=“pie”,图表类型为饼状图

rotatelabels=True

  • 是否可以旋转,True表示可以旋转

饼状图数据集

保存为文件covid19.csv使用,建议通过码云下载

date,Belgium,Brazil,Canada,China,France,Germany,India,Indonesia,Iran,Ireland,Italy,Mexico,Netherlands,Portugal,Spain,Sweden,Switzerland,Turkey,USA,United Kingdom
2020-02-26,,,,2717.0,2.0,,,,19.0,,12.0,,,,,,,,,
2020-02-27,,,,2746.0,2.0,,,,26.0,,17.0,,,,,,,,,
2020-02-28,,,,2790.0,2.0,,,,34.0,,21.0,,,,,,,,,
2020-02-29,,,,2837.0,2.0,,,,43.0,,29.0,,,,,,,,1.0,
2020-03-01,,,,2872.0,2.0,,,,54.0,,34.0,,,,,,,,1.0,
2020-03-02,,,,2914.0,3.0,,,,66.0,,52.0,,,,,,,,6.0,
2020-03-03,,,,2947.0,4.0,,,,77.0,,79.0,,,,1.0,,,,7.0,
2020-03-04,,,,2983.0,4.0,,,,92.0,,107.0,,,,2.0,,,,11.0,
2020-03-05,,,,3015.0,6.0,,,,107.0,,148.0,,,,3.0,,1.0,,12.0,1.0
2020-03-06,,,,3044.0,9.0,,,,124.0,,197.0,,1.0,,5.0,,1.0,,14.0,2.0
2020-03-07,,,,3072.0,11.0,,,,145.0,,233.0,,1.0,,10.0,,1.0,,17.0,2.0
2020-03-08,,,,3100.0,19.0,,,,194.0,,366.0,,3.0,,17.0,,2.0,,21.0,3.0
2020-03-09,,,1.0,3123.0,19.0,2.0,,,237.0,,463.0,,3.0,,28.0,,2.0,,22.0,4.0
2020-03-10,,,1.0,3139.0,33.0,2.0,,,291.0,,631.0,,4.0,,35.0,,3.0,,28.0,6.0
2020-03-11,3.0,,1.0,3161.0,48.0,3.0,1.0,1.0,354.0,1.0,827.0,,5.0,,54.0,1.0,4.0,,32.0,8.0
2020-03-12,3.0,,1.0,3172.0,48.0,3.0,1.0,1.0,429.0,1.0,1000.0,,5.0,,55.0,1.0,4.0,,40.0,8.0
2020-03-13,3.0,,1.0,3180.0,79.0,7.0,2.0,4.0,514.0,1.0,1266.0,,10.0,,133.0,1.0,11.0,,48.0,8.0
2020-03-14,4.0,,1.0,3193.0,91.0,9.0,2.0,5.0,611.0,2.0,1441.0,,12.0,,195.0,2.0,13.0,,54.0,21.0
2020-03-15,4.0,,1.0,3203.0,91.0,11.0,2.0,5.0,724.0,2.0,1809.0,,20.0,,289.0,3.0,14.0,,60.0,21.0
2020-03-16,5.0,,4.0,3217.0,149.0,17.0,2.0,5.0,853.0,2.0,2158.0,,24.0,,342.0,6.0,14.0,,84.0,56.0
2020-03-17,10.0,1.0,5.0,3230.0,149.0,24.0,3.0,5.0,988.0,2.0,2503.0,,43.0,1.0,533.0,7.0,27.0,1.0,107.0,56.0
2020-03-18,14.0,3.0,8.0,3241.0,149.0,28.0,3.0,19.0,1135.0,2.0,2978.0,,58.0,2.0,623.0,10.0,28.0,1.0,143.0,72.0
2020-03-19,21.0,6.0,9.0,3249.0,244.0,44.0,4.0,25.0,1284.0,3.0,3405.0,1.0,77.0,3.0,830.0,11.0,41.0,3.0,209.0,138.0
2020-03-20,37.0,11.0,12.0,3253.0,451.0,67.0,5.0,32.0,1433.0,3.0,4032.0,1.0,107.0,6.0,1043.0,16.0,54.0,4.0,260.0,178.0
2020-03-21,67.0,15.0,19.0,3259.0,563.0,84.0,6.0,38.0,1556.0,3.0,4825.0,2.0,137.0,12.0,1375.0,20.0,75.0,9.0,320.0,234.0
2020-03-22,75.0,25.0,21.0,3274.0,676.0,94.0,7.0,48.0,1685.0,4.0,5476.0,2.0,180.0,14.0,1772.0,21.0,98.0,30.0,427.0,282.0
2020-03-23,88.0,34.0,25.0,3274.0,862.0,123.0,10.0,49.0,1812.0,6.0,6077.0,3.0,214.0,23.0,2311.0,25.0,120.0,37.0,552.0,336.0
2020-03-24,122.0,46.0,26.0,3281.0,1102.0,157.0,10.0,55.0,1934.0,7.0,6820.0,4.0,277.0,33.0,2808.0,36.0,122.0,44.0,706.0,423.0
2020-03-25,178.0,59.0,30.0,3285.0,1333.0,206.0,12.0,58.0,2077.0,9.0,7503.0,5.0,357.0,43.0,3647.0,62.0,153.0,59.0,943.0,466.0
2020-03-26,220.0,77.0,38.0,3291.0,1698.0,267.0,20.0,78.0,2234.0,19.0,8215.0,6.0,435.0,60.0,4365.0,77.0,191.0,75.0,1210.0,580.0
2020-03-27,289.0,92.0,54.0,3296.0,1997.0,342.0,20.0,87.0,2378.0,22.0,9134.0,8.0,547.0,76.0,5138.0,105.0,231.0,92.0,1582.0,761.0
2020-03-28,353.0,111.0,61.0,3299.0,2317.0,433.0,24.0,102.0,2517.0,36.0,10023.0,12.0,640.0,100.0,5982.0,105.0,264.0,108.0,2182.0,1021.0
2020-03-29,431.0,136.0,64.0,3304.0,2611.0,533.0,27.0,114.0,2640.0,46.0,10779.0,16.0,772.0,119.0,6803.0,110.0,300.0,131.0,2566.0,1231.0
2020-03-30,513.0,159.0,80.0,3308.0,3030.0,645.0,32.0,122.0,2757.0,54.0,11591.0,20.0,865.0,140.0,7716.0,146.0,359.0,168.0,3112.0,1411.0
2020-03-31,705.0,201.0,101.0,3309.0,3532.0,775.0,35.0,136.0,2898.0,71.0,12428.0,28.0,1040.0,160.0,8464.0,180.0,433.0,214.0,4039.0,1793.0
2020-04-01,828.0,240.0,109.0,3316.0,4414.0,920.0,58.0,157.0,3036.0,85.0,13155.0,29.0,1175.0,187.0,9387.0,239.0,488.0,277.0,4995.0,2357.0
2020-04-02,1011.0,324.0,139.0,3322.0,5398.0,1107.0,72.0,170.0,3160.0,98.0,13915.0,37.0,1341.0,209.0,10348.0,308.0,536.0,356.0,6294.0,2926.0
2020-04-03,1143.0,359.0,179.0,3326.0,6520.0,1275.0,72.0,181.0,3294.0,120.0,14681.0,50.0,1490.0,246.0,11198.0,358.0,591.0,425.0,7418.0,3611.0
2020-04-04,1283.0,445.0,218.0,3330.0,7574.0,1444.0,86.0,191.0,3452.0,137.0,15362.0,60.0,1656.0,266.0,11947.0,373.0,666.0,501.0,8387.0,4320.0
2020-04-05,1447.0,486.0,259.0,3333.0,8093.0,1584.0,99.0,198.0,3603.0,158.0,15887.0,79.0,1771.0,295.0,12641.0,401.0,715.0,574.0,9489.0,4943.0
2020-04-06,1632.0,564.0,339.0,3335.0,8926.0,1810.0,136.0,209.0,3739.0,174.0,16523.0,94.0,1874.0,311.0,13341.0,477.0,765.0,649.0,10783.0,5385.0
2020-04-07,2035.0,686.0,375.0,3335.0,10343.0,2016.0,150.0,221.0,3872.0,210.0,17127.0,125.0,2108.0,345.0,14045.0,591.0,821.0,725.0,12798.0,6171.0
2020-04-08,2240.0,819.0,407.0,3337.0,10887.0,2349.0,178.0,240.0,3993.0,235.0,17669.0,141.0,2255.0,380.0,14792.0,687.0,895.0,812.0,14704.0,7111.0
2020-04-09,2523.0,950.0,503.0,3339.0,12228.0,2607.0,226.0,280.0,4110.0,263.0,18279.0,174.0,2403.0,409.0,15447.0,793.0,948.0,908.0,16553.0,7993.0
2020-04-10,3019.0,1057.0,557.0,3340.0,13215.0,2767.0,246.0,306.0,4232.0,287.0,18849.0,194.0,2520.0,435.0,16081.0,870.0,1002.0,1006.0,18595.0,8974.0
2020-04-11,3346.0,1124.0,654.0,3343.0,13851.0,2894.0,288.0,327.0,4357.0,320.0,19468.0,233.0,2653.0,470.0,16606.0,887.0,1036.0,1101.0,20471.0,9892.0
2020-04-12,3600.0,1223.0,714.0,3343.0,14412.0,3022.0,331.0,373.0,4474.0,334.0,19899.0,273.0,2747.0,504.0,17209.0,899.0,1106.0,1198.0,22032.0,10629.0
2020-04-13,3903.0,1328.0,779.0,3345.0,14986.0,3194.0,358.0,399.0,4585.0,365.0,20465.0,296.0,2833.0,535.0,17756.0,919.0,1138.0,1296.0,23546.0,11347.0
2020-04-14,4157.0,1532.0,899.0,3345.0,15748.0,3294.0,393.0,459.0,4683.0,406.0,21067.0,332.0,2955.0,567.0,18056.0,1033.0,1174.0,1403.0,25854.0,12129.0
2020-04-15,4440.0,1736.0,1006.0,3346.0,17188.0,3804.0,405.0,469.0,4777.0,444.0,21645.0,406.0,3145.0,599.0,18708.0,1203.0,1239.0,1518.0,28341.0,12894.0
2020-04-16,4857.0,1924.0,1257.0,3346.0,17941.0,4052.0,448.0,496.0,4869.0,486.0,22170.0,449.0,3327.0,629.0,19315.0,1333.0,1281.0,1643.0,32933.0,13759.0
2020-04-17,5163.0,2141.0,1354.0,4636.0,18703.0,4352.0,486.0,520.0,4958.0,530.0,22745.0,486.0,3471.0,657.0,20002.0,1400.0,1327.0,1769.0,36790.0,14607.0
2020-04-18,5453.0,2354.0,1399.0,4636.0,19345.0,4459.0,521.0,535.0,5031.0,571.0,23227.0,546.0,3613.0,687.0,20043.0,1511.0,1368.0,1890.0,38671.0,15498.0
2020-04-19,5683.0,2462.0,1563.0,4636.0,19744.0,4586.0,559.0,582.0,5118.0,610.0,23660.0,650.0,3697.0,714.0,20453.0,1540.0,1393.0,2017.0,40664.0,16095.0
2020-04-20,5828.0,2587.0,1725.0,4636.0,20292.0,4862.0,592.0,590.0,5209.0,687.0,24114.0,686.0,3764.0,735.0,20852.0,1580.0,1429.0,2140.0,42097.0,16550.0
2020-04-21,5998.0,2741.0,1908.0,4636.0,20829.0,5033.0,645.0,616.0,5297.0,730.0,24648.0,712.0,3929.0,762.0,21282.0,1765.0,1478.0,2259.0,44447.0,17378.0
2020-04-22,6262.0,2906.0,2075.0,4636.0,21373.0,5279.0,681.0,635.0,5391.0,769.0,25085.0,857.0,4068.0,785.0,21717.0,1937.0,1509.0,2376.0,46628.0,18151.0

饼状图例程

# @Time    : 2022/1/13 5:57
# @Author  : 南黎
# @FileName: 4.饼状图.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################
import pandas_alivedf = pd.read_csv("数据源data/covid19.csv", index_col=0, parse_dates=[0], thousands=',')df.plot_animated(filename='4.饼状图.gif',title='发现你走远了——4.饼状图',kind="pie",#图标类型为饼状图rotatelabels=True,#是否可以旋转period_label={'x': 0, 'y': 0})#坐标轴周期

在这里插入图片描述


5.气泡图

有一个运动的气泡

气泡图API说明:

暂无

气泡图数据集

码云下载multi.csv

气泡图例程

# @Time    : 2022/1/12 19:58
# @Author  : 南黎
# @FileName: 5.气泡图.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import pandas_alivemulti_index_df = pd.read_csv("数据源data/multi.csv", header=[0, 1], index_col=0)multi_index_df.index = pd.to_datetime(multi_index_df.index, dayfirst=True)map_chart = multi_index_df.plot_animated(kind="bubble",filename="5.气泡图.gif",title='发现你走远了——5.气泡图',x_data_label="Longitude",  # x数据标签 使用数据集的Longitude属性y_data_label="Latitude",  # y数据标签 使用数据集的Latitude属性size_data_label="Cases",color_data_label="Cases",vmax=5,steps_per_period=3,#每个周期的步数interpolate_period=True, period_length=500,dpi=100
)

在这里插入图片描述


6.地理空间图

地理空间点图和多边形地理空间图,要用gpkg格式的数据集。一般人用不到,回头我再学习完善一下说明。

地理空间图表现在可以使用[geopandas]轻松设置动画(https://geopandas.org/index.html)!

如果使用Windows,anaconda是安装所有GDAL依赖项的最简单方法。

必须以包含“宽”数据的“geopandas”GeoDataFrame开始,其中:

-每行表示一个几何体(点或多边形)。

-索引包含几何图形标签(可选)

-每列表示一个时间段。

通过使用“df=df”将与其他图表兼容的数据进行转换,可以很容易地组合这些图表。T`。

我发现了项目的bug
在这里插入图片描述
没有标题的·····
在这里插入图片描述

6.1 地理空间点图

地理空间点图API说明:

暂无

地理空间点图数据集

码云下载nsw-covid19-cases-by-postcode.gpkg

地理空间点图例程

# @Time    : 2022/1/14 19:58
# @Author  : 南黎
# @FileName: 6.1地理空间点图.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import geopandas
import pandas_alive
import contextilygdf = geopandas.read_file('数据源data/nsw-covid19-cases-by-postcode.gpkg')
gdf.index = gdf.postcode
gdf = gdf.drop('postcode', axis=1)map_chart = gdf.plot_animated(filename='6.1地理空间点图.gif',title='发现你走远了——6.1地理空间点图',enable_progress_bar=True,basemap_format={'source': contextily.providers.Stamen.Terrain}
)

在这里插入图片描述


6.2 多边形地理空间图

支持包含多边形的GeoDataFrames!

多边形地理空间图API说明:

暂无

多边形地理空间图数据集

码云下载italy-covid-region.gpkg

多边形地理空间图例程

# @Time    : 2022/1/14 21:04
# @Author  : 南黎
# @FileName: 6.2多边形地理空间图.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import geopandas
import pandas_alive
import contextilygdf = geopandas.read_file('数据源data/italy-covid-region.gpkg')
gdf.index = gdf.region
gdf = gdf.drop('region', axis=1)map_chart = gdf.plot_animated(filename='6.2多边形地理空间图.gif',title='发现你走远了——6.2多边形地理空间图',enable_progress_bar=True,basemap_format={'source': contextily.providers.Stamen.Terrain}
)

在这里插入图片描述


7.多个图表

在一张gif图中显示多张表。

多个图表API说明:

plots=[animated_bar_chart, animated_line_chart],

  • 两个表放进一个列表中,参数plots放入的是要被绘制进主图的两张子图
    enable_progress_bar=True
  • 是否在生成图片时显示生成图片的进度,以一个进度条的方式呈现
    在这里插入图片描述

关于如何自定义多张表之间的距离,标题等功能,在下一节中具体说明

【8.城市人口(测试代码+数据集+绘图参数解析)】

多个图表数据集

保存文件名为 covid19.csv,建议码云下载,否则可能出现编码问题

date,Belgium,Brazil,Canada,China,France,Germany,India,Indonesia,Iran,Ireland,Italy,Mexico,Netherlands,Portugal,Spain,Sweden,Switzerland,Turkey,USA,United Kingdom
2020-02-26,,,,2717.0,2.0,,,,19.0,,12.0,,,,,,,,,
2020-02-27,,,,2746.0,2.0,,,,26.0,,17.0,,,,,,,,,
2020-02-28,,,,2790.0,2.0,,,,34.0,,21.0,,,,,,,,,
2020-02-29,,,,2837.0,2.0,,,,43.0,,29.0,,,,,,,,1.0,
2020-03-01,,,,2872.0,2.0,,,,54.0,,34.0,,,,,,,,1.0,
2020-03-02,,,,2914.0,3.0,,,,66.0,,52.0,,,,,,,,6.0,
2020-03-03,,,,2947.0,4.0,,,,77.0,,79.0,,,,1.0,,,,7.0,
2020-03-04,,,,2983.0,4.0,,,,92.0,,107.0,,,,2.0,,,,11.0,
2020-03-05,,,,3015.0,6.0,,,,107.0,,148.0,,,,3.0,,1.0,,12.0,1.0
2020-03-06,,,,3044.0,9.0,,,,124.0,,197.0,,1.0,,5.0,,1.0,,14.0,2.0
2020-03-07,,,,3072.0,11.0,,,,145.0,,233.0,,1.0,,10.0,,1.0,,17.0,2.0
2020-03-08,,,,3100.0,19.0,,,,194.0,,366.0,,3.0,,17.0,,2.0,,21.0,3.0
2020-03-09,,,1.0,3123.0,19.0,2.0,,,237.0,,463.0,,3.0,,28.0,,2.0,,22.0,4.0
2020-03-10,,,1.0,3139.0,33.0,2.0,,,291.0,,631.0,,4.0,,35.0,,3.0,,28.0,6.0
2020-03-11,3.0,,1.0,3161.0,48.0,3.0,1.0,1.0,354.0,1.0,827.0,,5.0,,54.0,1.0,4.0,,32.0,8.0
2020-03-12,3.0,,1.0,3172.0,48.0,3.0,1.0,1.0,429.0,1.0,1000.0,,5.0,,55.0,1.0,4.0,,40.0,8.0
2020-03-13,3.0,,1.0,3180.0,79.0,7.0,2.0,4.0,514.0,1.0,1266.0,,10.0,,133.0,1.0,11.0,,48.0,8.0
2020-03-14,4.0,,1.0,3193.0,91.0,9.0,2.0,5.0,611.0,2.0,1441.0,,12.0,,195.0,2.0,13.0,,54.0,21.0
2020-03-15,4.0,,1.0,3203.0,91.0,11.0,2.0,5.0,724.0,2.0,1809.0,,20.0,,289.0,3.0,14.0,,60.0,21.0
2020-03-16,5.0,,4.0,3217.0,149.0,17.0,2.0,5.0,853.0,2.0,2158.0,,24.0,,342.0,6.0,14.0,,84.0,56.0
2020-03-17,10.0,1.0,5.0,3230.0,149.0,24.0,3.0,5.0,988.0,2.0,2503.0,,43.0,1.0,533.0,7.0,27.0,1.0,107.0,56.0
2020-03-18,14.0,3.0,8.0,3241.0,149.0,28.0,3.0,19.0,1135.0,2.0,2978.0,,58.0,2.0,623.0,10.0,28.0,1.0,143.0,72.0
2020-03-19,21.0,6.0,9.0,3249.0,244.0,44.0,4.0,25.0,1284.0,3.0,3405.0,1.0,77.0,3.0,830.0,11.0,41.0,3.0,209.0,138.0
2020-03-20,37.0,11.0,12.0,3253.0,451.0,67.0,5.0,32.0,1433.0,3.0,4032.0,1.0,107.0,6.0,1043.0,16.0,54.0,4.0,260.0,178.0
2020-03-21,67.0,15.0,19.0,3259.0,563.0,84.0,6.0,38.0,1556.0,3.0,4825.0,2.0,137.0,12.0,1375.0,20.0,75.0,9.0,320.0,234.0
2020-03-22,75.0,25.0,21.0,3274.0,676.0,94.0,7.0,48.0,1685.0,4.0,5476.0,2.0,180.0,14.0,1772.0,21.0,98.0,30.0,427.0,282.0
2020-03-23,88.0,34.0,25.0,3274.0,862.0,123.0,10.0,49.0,1812.0,6.0,6077.0,3.0,214.0,23.0,2311.0,25.0,120.0,37.0,552.0,336.0
2020-03-24,122.0,46.0,26.0,3281.0,1102.0,157.0,10.0,55.0,1934.0,7.0,6820.0,4.0,277.0,33.0,2808.0,36.0,122.0,44.0,706.0,423.0
2020-03-25,178.0,59.0,30.0,3285.0,1333.0,206.0,12.0,58.0,2077.0,9.0,7503.0,5.0,357.0,43.0,3647.0,62.0,153.0,59.0,943.0,466.0
2020-03-26,220.0,77.0,38.0,3291.0,1698.0,267.0,20.0,78.0,2234.0,19.0,8215.0,6.0,435.0,60.0,4365.0,77.0,191.0,75.0,1210.0,580.0
2020-03-27,289.0,92.0,54.0,3296.0,1997.0,342.0,20.0,87.0,2378.0,22.0,9134.0,8.0,547.0,76.0,5138.0,105.0,231.0,92.0,1582.0,761.0
2020-03-28,353.0,111.0,61.0,3299.0,2317.0,433.0,24.0,102.0,2517.0,36.0,10023.0,12.0,640.0,100.0,5982.0,105.0,264.0,108.0,2182.0,1021.0
2020-03-29,431.0,136.0,64.0,3304.0,2611.0,533.0,27.0,114.0,2640.0,46.0,10779.0,16.0,772.0,119.0,6803.0,110.0,300.0,131.0,2566.0,1231.0
2020-03-30,513.0,159.0,80.0,3308.0,3030.0,645.0,32.0,122.0,2757.0,54.0,11591.0,20.0,865.0,140.0,7716.0,146.0,359.0,168.0,3112.0,1411.0
2020-03-31,705.0,201.0,101.0,3309.0,3532.0,775.0,35.0,136.0,2898.0,71.0,12428.0,28.0,1040.0,160.0,8464.0,180.0,433.0,214.0,4039.0,1793.0
2020-04-01,828.0,240.0,109.0,3316.0,4414.0,920.0,58.0,157.0,3036.0,85.0,13155.0,29.0,1175.0,187.0,9387.0,239.0,488.0,277.0,4995.0,2357.0
2020-04-02,1011.0,324.0,139.0,3322.0,5398.0,1107.0,72.0,170.0,3160.0,98.0,13915.0,37.0,1341.0,209.0,10348.0,308.0,536.0,356.0,6294.0,2926.0
2020-04-03,1143.0,359.0,179.0,3326.0,6520.0,1275.0,72.0,181.0,3294.0,120.0,14681.0,50.0,1490.0,246.0,11198.0,358.0,591.0,425.0,7418.0,3611.0
2020-04-04,1283.0,445.0,218.0,3330.0,7574.0,1444.0,86.0,191.0,3452.0,137.0,15362.0,60.0,1656.0,266.0,11947.0,373.0,666.0,501.0,8387.0,4320.0
2020-04-05,1447.0,486.0,259.0,3333.0,8093.0,1584.0,99.0,198.0,3603.0,158.0,15887.0,79.0,1771.0,295.0,12641.0,401.0,715.0,574.0,9489.0,4943.0
2020-04-06,1632.0,564.0,339.0,3335.0,8926.0,1810.0,136.0,209.0,3739.0,174.0,16523.0,94.0,1874.0,311.0,13341.0,477.0,765.0,649.0,10783.0,5385.0
2020-04-07,2035.0,686.0,375.0,3335.0,10343.0,2016.0,150.0,221.0,3872.0,210.0,17127.0,125.0,2108.0,345.0,14045.0,591.0,821.0,725.0,12798.0,6171.0
2020-04-08,2240.0,819.0,407.0,3337.0,10887.0,2349.0,178.0,240.0,3993.0,235.0,17669.0,141.0,2255.0,380.0,14792.0,687.0,895.0,812.0,14704.0,7111.0
2020-04-09,2523.0,950.0,503.0,3339.0,12228.0,2607.0,226.0,280.0,4110.0,263.0,18279.0,174.0,2403.0,409.0,15447.0,793.0,948.0,908.0,16553.0,7993.0
2020-04-10,3019.0,1057.0,557.0,3340.0,13215.0,2767.0,246.0,306.0,4232.0,287.0,18849.0,194.0,2520.0,435.0,16081.0,870.0,1002.0,1006.0,18595.0,8974.0
2020-04-11,3346.0,1124.0,654.0,3343.0,13851.0,2894.0,288.0,327.0,4357.0,320.0,19468.0,233.0,2653.0,470.0,16606.0,887.0,1036.0,1101.0,20471.0,9892.0
2020-04-12,3600.0,1223.0,714.0,3343.0,14412.0,3022.0,331.0,373.0,4474.0,334.0,19899.0,273.0,2747.0,504.0,17209.0,899.0,1106.0,1198.0,22032.0,10629.0
2020-04-13,3903.0,1328.0,779.0,3345.0,14986.0,3194.0,358.0,399.0,4585.0,365.0,20465.0,296.0,2833.0,535.0,17756.0,919.0,1138.0,1296.0,23546.0,11347.0
2020-04-14,4157.0,1532.0,899.0,3345.0,15748.0,3294.0,393.0,459.0,4683.0,406.0,21067.0,332.0,2955.0,567.0,18056.0,1033.0,1174.0,1403.0,25854.0,12129.0
2020-04-15,4440.0,1736.0,1006.0,3346.0,17188.0,3804.0,405.0,469.0,4777.0,444.0,21645.0,406.0,3145.0,599.0,18708.0,1203.0,1239.0,1518.0,28341.0,12894.0
2020-04-16,4857.0,1924.0,1257.0,3346.0,17941.0,4052.0,448.0,496.0,4869.0,486.0,22170.0,449.0,3327.0,629.0,19315.0,1333.0,1281.0,1643.0,32933.0,13759.0
2020-04-17,5163.0,2141.0,1354.0,4636.0,18703.0,4352.0,486.0,520.0,4958.0,530.0,22745.0,486.0,3471.0,657.0,20002.0,1400.0,1327.0,1769.0,36790.0,14607.0
2020-04-18,5453.0,2354.0,1399.0,4636.0,19345.0,4459.0,521.0,535.0,5031.0,571.0,23227.0,546.0,3613.0,687.0,20043.0,1511.0,1368.0,1890.0,38671.0,15498.0
2020-04-19,5683.0,2462.0,1563.0,4636.0,19744.0,4586.0,559.0,582.0,5118.0,610.0,23660.0,650.0,3697.0,714.0,20453.0,1540.0,1393.0,2017.0,40664.0,16095.0
2020-04-20,5828.0,2587.0,1725.0,4636.0,20292.0,4862.0,592.0,590.0,5209.0,687.0,24114.0,686.0,3764.0,735.0,20852.0,1580.0,1429.0,2140.0,42097.0,16550.0
2020-04-21,5998.0,2741.0,1908.0,4636.0,20829.0,5033.0,645.0,616.0,5297.0,730.0,24648.0,712.0,3929.0,762.0,21282.0,1765.0,1478.0,2259.0,44447.0,17378.0
2020-04-22,6262.0,2906.0,2075.0,4636.0,21373.0,5279.0,681.0,635.0,5391.0,769.0,25085.0,857.0,4068.0,785.0,21717.0,1937.0,1509.0,2376.0,46628.0,18151.0

多个图表例程

# @Time    : 2022/1/12 22:13
# @Author  : 南黎
# @FileName: 7.多个图表.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import pandas_alivedf = pd.read_csv("数据源data/covid19.csv", index_col=0, parse_dates=[0], thousands=',')# 生成第一个表
animated_line_chart = df.diff().fillna(0).plot_animated(title='发现你走远了——子图1',kind='line',period_label=False,add_legend=False
)
# 生成第二个表
animated_bar_chart = df.plot_animated(title='发现你走远了——子图2',n_visible=10
)# 最后保存图片的时候,用一个列表同时装入2个表
pandas_alive.animate_multiple_plots(filename='7.多个图表.gif',plots=[animated_bar_chart, animated_line_chart],  # 两个表放进一个列表中title='发现你走远了——7.多个图表',enable_progress_bar=True  # 是否在生成图片时显示生成图片的进度,以一个进度条的方式呈现
)

在这里插入图片描述


8.城市人口

讲述更多关于两张图距离的控制

城市人口API说明:

有部分在代码注释中

n_visible=10,

  • 属性参数取10个

adjust_subplot_left=0.15,

  • float类型,(0,1)之间
  • 设置子图左浮动=0.15,
    在这里插入图片描述

adjust_subplot_right=0.9,

  • float类型,(0,1)之间
  • 设置子图右浮动=0.9,

adjust_subplot_bottom=0.1,

  • float类型,(0,1)之间
  • 设置子图底部浮动=0.1,

adjust_subplot_top=0.9,

  • float类型,(0,1)之间
  • 设置子图顶部浮动=0.9,

adjust_subplot_wspace=0.2,

  • float类型,(0,1)之间
  • 设置子图间距浮动=0.2,
    在这里插入图片描述

adjust_subplot_hspace=0.25

  • float类型,(0,1)之间
  • 设置子图空间浮动=0.25,

城市人口数据集

保存文件名为 urban_pop.csv,建议码云下载,否则可能出现编码问题

year,United States,India,China,Ethiopia,Poland,Malaysia,Peru,Venezuela,Iraq,Saudi Arabia,Canada,Algeria,Ukraine,Vietnam,Thailand,"Congo, Dem. Rep.",Spain,South Africa,Colombia,Argentina,Egypt,South Korea,Italy,Philippines,France,United Kingdom,Bangladesh,Iran,Turkey,Germany,Pakistan,Nigeria,Mexico,Russia,Japan,Indonesia,Brazil
1976,160611122,138219074,162497601,3194879,19215135,4802814,9834645,10382196,7530612,4673719,17705309,6919237,28966085,9399461,10568872,6141742,25379947,12445371,15011687,21370520,17210387,17823527,36687131,15245564,39578989,43757644,7667521,15742290,16914583,56885943,18365687,13177979,38883279,90810675,85642808,26596457,67790415
1977,162256678,143699557,165293316,3300643,19625330,5038232,10197056,10778965,7901451,5041250,17923214,7196331,29452016,9652431,11092595,6381644,25880544,12771480,15524763,21797026,17668393,18743336,36955192,15826569,39798460,43833733,8543815,16521005,17474315,56801863,19175026,13868037,40371908,92479950,86538157,28001978,70478354
1978,164005080,149379782,171153535,3406129,20007316,5284698,10567468,11185526,8253727,5441027,18112108,7565661,29928920,9911702,11628473,6630163,26368356,13105135,16052408,22227673,18089504,19679806,37198851,16426578,40001620,43925435,9528585,17336704,18048189,56796181,20032626,14598364,41879098,94157479,87391419,29468690,73245834
1979,165847531,155285824,180399661,3522584,20341874,5539880,10945723,11600322,8598800,5885282,18301934,7956090,30386569,10181044,12176748,6882719,26838008,13454231,16593237,22668000,18530889,20636698,37418639,17048162,40205371,44054299,10622254,18227951,18640066,56865826,20941767,15355488,43407693,95659612,88197927,30996679,76091693
1980,167551171,161444128,189947471,3658252,20663601,5801267,11331194,12022351,8945814,6382806,18549289,8369497,30825447,10447627,12692095,7135884,27289444,13828615,17145845,23122595,18994489,21623805,37607540,17738316,40423470,44195960,11827261,19206467,19252680,57028530,21906732,16131172,44952217,96960865,88958689,32591870,79015954
1981,169552427,167521704,199949784,3817958,20985955,6050366,11723239,12450233,9294818,6937865,18791654,8805955,31287683,10720898,13071774,7389309,27669147,14253248,17710021,23609667,19480106,22617087,37764025,18687449,40659231,44271630,12920085,20274421,20329814,57229147,22897114,17103116,46412878,98228786,89733659,34436558,82013626
1982,171528659,173152676,210823843,4000296,21314754,6305685,12089571,12875246,9646517,7546375,19057229,9265778,31693551,11006067,13450801,7645260,27925417,14700152,18286697,24118025,19987197,23619800,37819718,19680770,40911627,44228171,13607076,21426582,21630562,57267174,23877291,18109529,47890690,99464693,90474900,36463770,85085296
1983,173459636,178956141,220472140,4203323,21651242,6571674,12460705,13303646,9998790,8194651,19287381,9746745,32110163,11301138,13832449,7907632,28151118,15162766,18874699,24636888,20516521,24621925,37822134,20717792,41177471,44215089,14326358,22654500,22977503,57114118,24901258,19156448,49383429,100677781,91224787,38577957,88209014
1984,175321738,184906540,230206255,4422527,21984900,6854613,12837778,13741349,10349519,8862080,19511294,10246073,32533314,11603770,14220724,8182628,28357570,15630401,19472129,25163825,21068787,25577374,37819273,21799606,41450438,44257473,15083858,23944608,24362121,56792461,25962081,20257934,50884710,102058393,91937389,40774954,91357900
1985,177239105,190975975,240414890,4655890,22299554,7158816,13220933,14189017,10697257,9530555,19731489,10759943,32933625,11912008,14616958,8520035,28549379,16134214,20077488,25695319,21643302,26473134,37818886,22923393,41726184,44329755,15880101,25281030,25769767,56485448,27052677,21421320,52390613,103466989,92632808,43042272,94505178
1986,179244877,197165614,251325056,4901173,22589785,7487770,13610395,14647328,11040738,10193888,19967235,11287827,33344880,12225169,15025684,8876843,28723937,16716155,20656600,26230730,22241759,27480866,37809627,24093004,42005647,44404206,16718788,26666054,27034322,56438249,28172326,22654337,53899557,104825013,93348378,45381922,97647144
1987,181215212,203469688,262976051,5160078,22855463,7839689,14005309,15114933,11382713,10774882,20237468,11821049,33766182,12541644,15443627,9253676,28887112,17299431,21228791,26769637,22812398,28537079,37802166,25307752,42289365,44470325,17598710,28011702,28238882,56695484,29321589,23956989,55410753,106169956,93963675,47793464,100778354
1988,183232441,209894838,275121076,5434867,23089202,8210275,14404448,15589603,11640586,11342799,20506939,12346640,34209429,12862589,15862003,9660136,29036437,17891635,21808613,27309085,23358966,29585374,37809110,26565345,42572024,44540723,18516964,29328931,29455664,57044790,30497993,25327851,56925349,107471421,94519909,50281090,103903008
1989,185333919,216442440,287504237,5728511,23241946,8591294,14805506,16067828,11877599,11895419,20883649,12878973,34541910,13237507,16267069,10107028,29169746,18505772,22398271,27844463,23893893,30626132,37826147,27860539,42846787,44628280,19464440,30587388,30682120,57469536,31695621,26761923,58445699,108424260,95061557,52840795,107023058
1990,187966119,223096279,300165618,6043927,23350476,8977771,15207438,16547195,12142167,12432320,21206427,13416507,34641542,13772504,16641681,10602701,29286916,19149881,23000000,28373007,24406147,31656393,37846480,29082060,43127028,44733264,20439396,31751090,31923300,58079842,32914428,28259055,59951345,108837430,95542280,55483475,110146163
1991,191509147,229752408,314301034,6383315,23450653,9366643,15608008,17014346,12437110,12952377,21482271,13958197,34734234,14324149,16936803,11155614,29430524,19822817,23613619,28887229,24890671,32459655,37861339,29760929,43467991,44855736,21391215,32799183,32891192,58625381,34148626,29472185,61411745,109073667,96005316,58355038,113265899
1992,195199459,236274335,328521540,6744717,23539562,9846036,16007183,17476497,12759904,13454748,21813814,14502589,34854630,14889784,17206294,11762423,29607126,20511177,24238652,29352243,25351104,33169705,37907512,30439167,43785894,45011752,22255441,33888647,33738148,59146205,35400161,30726608,62876086,109115423,96414127,61396542,116379447
1993,198806845,242896345,342961393,7125617,23616843,10348234,16406525,17938345,13107820,13888412,22130869,15044498,34894325,15462867,17462829,12400106,29793326,21212379,24870590,29809452,25795989,33872973,37964793,31119331,44077099,45154426,23136115,34949749,34589980,59647492,36682088,32024149,64340297,108985461,96821759,64522965,119489196
1994,202278113,249629427,357836540,7519515,23684074,10868160,16820251,18400682,13475501,14285427,22450573,15579364,34741407,16036816,17724400,13037939,29967941,21906214,25506165,30260590,26238204,34575766,38006634,31802962,44342923,45304828,24044693,35978707,35453793,60028206,38012967,33368626,65800649,108843023,97320876,67741187,122608542
1995,205718394,256470883,373035157,7888014,23733222,11409139,17240497,18863803,13858715,14663134,22760570,16103497,34487999,16604653,18004312,13652804,30133075,22576687,26142216,30705908,26687693,35280305,38041344,32491471,44604027,45459651,24983813,37010603,36333541,60378049,39405594,34764761,67251519,108866238,97862490,71046004,125743641
1996,209146726,263440887,388593258,8247227,23768665,11973524,17668537,19326875,14255733,15019607,23081461,16615709,34203211,17163390,18309040,14233459,30291556,23218617,26777679,31145811,27145811,35810625,38086153,33183963,44863823,45610451,25958281,38054098,37230469,60725922,40868934,36216363,68621427,108700578,98272808,74433222,128896593
1997,212694273,270523260,404485562,8610539,23801620,12557524,18100961,19788904,14665741,15360171,23428320,17115300,33912723,17713643,18632440,14788167,30451227,23836117,27410868,31579645,27681745,36259672,38140443,33879027,45123550,45762480,26961627,39051703,38142785,60986289,42394458,37721269,69944968,108515107,98667335,77897525,132175402
1998,216206090,277707327,420606126,8981735,23827143,13157335,18529226,20251502,15123544,15704580,23739358,17606301,33630036,18256423,18965132,15338240,30610090,24431488,28043543,32009566,28270163,36633453,38185563,34576876,45390693,45931122,27993765,40038693,39068844,61167004,43938667,39284672,71260342,108329743,99095072,81452538,135456370
1999,219721677,284978106,436766058,9363839,23842562,13764926,18940925,20715860,15606189,16078075,24048329,18103945,33333798,18823973,19293244,15915279,30767125,25011815,28676311,32438320,28862915,37006183,38226137,35277843,45743988,46119137,29046503,41030621,40002835,61376500,45445310,40910972,72568684,107987645,99434460,85098300,138709641
2000,223069137,292322757,452999147,9761536,23611695,14375105,19326872,21182664,16094906,16499665,24388404,18600197,33019123,19477364,19758316,16544508,30937864,25582579,29309135,32867357,29457843,37428328,38277624,35981496,46214923,46319551,30114488,42026541,40942334,61629857,46947759,42603693,73899942,107528575,99760751,88840036,141915773
2001,225792302,300118524,471767321,10174157,23622394,14918252,19683539,21651926,16594707,16978440,24757782,19094843,32707281,20134757,20680738,17234266,31186430,26143328,29941986,33297967,30055505,37867709,38333314,36689358,46709571,46557334,31346174,43031116,41943212,61902439,48435634,44726802,75268749,107067618,101706485,91738482,144508698
2002,228400290,308796507,491993700,10604081,23621395,15458510,20014065,22057235,17104294,17510539,25052940,19591211,32432088,20800243,21613066,17981229,31708814,26720456,30573543,33728934,30659220,38258247,38447500,37399541,47206863,46930583,32796275,44050010,42979004,62174878,49919690,46947855,76634718,106568907,104055019,94698443,147005321
2003,230876596,317584393,512473984,11049316,23563051,15999895,20323604,22460389,17607000,18084339,25304780,20095408,32238838,21474148,22554369,18783707,32390830,27305501,31200433,34159485,31267885,38626122,38686985,38104244,47699501,47323791,34276157,45078311,44016864,62376854,51408755,49272800,78013778,106132766,106256267,97720468,149452654
2004,233532722,326495067,533257098,11510093,23506503,16548747,20619818,22858285,18080764,18680566,25566897,20616005,32075858,22163653,23508150,19635486,33059302,27898739,31817837,34588886,31879899,38947802,39006818,38793193,48209404,47767769,35772637,46107032,45048098,62529997,52922901,51708640,79428213,105771150,108136910,100811250,151843988
2005,236200507,335503762,554367818,11986371,23453429,17108405,20909083,23248394,18513378,19286107,25834340,21159469,31932581,22870388,24472850,20534304,33727737,28506195,32422505,35015695,32495526,39195731,39267369,39459729,48730233,48269624,37274029,47130046,46065713,62660267,54474508,54260116,80890450,105433013,109856670,103961908,154176524
2006,238999326,344622641,575118254,12478999,23396235,17681869,21194852,23622801,18889524,19893608,26126316,21729732,31801166,23598140,25451682,21483246,34408810,29131012,33015422,35439470,33111793,39490771,39454178,40099208,49228316,48798541,38777278,48145863,47064036,62753557,56069495,56934076,82408287,105152847,111383848,107178769,156447985
2007,241795278,353850625,595670841,13001478,23340838,18266045,21477303,23979532,19223314,20507062,26441461,22327433,31694727,24348000,26439736,22487132,35159317,29774433,33597410,35861110,33700835,39740941,39722857,40715257,49690034,49351705,40283010,49125150,48048353,62833410,57704173,59734515,83973950,105037426,112827761,110459097,158660052
2008,244607104,363154577,616481190,13689470,23300939,18854125,21722213,24328099,19565443,21137735,26789863,22955890,31605915,25120981,27438708,23545867,35833174,30442138,34166611,36284569,34289703,40093884,40056298,41319488,50127513,49913475,41802031,50093529,49047262,62875807,59373384,62665438,85573769,105055515,114107975,113814309,160823508
2009,247276259,372465917,637407288,14413055,23274004,19435329,21951808,24683266,19985687,21801430,27158023,23612219,31547432,25920396,28447159,24661566,36260460,31137754,34720224,36714245,34919606,40351067,40308358,41929228,50547198,50463084,43352798,51080202,50096864,62877220,61070625,65723902,87182005,105149982,115228215,117243827,162949977
2010,249845296,381763166,658498663,15178365,23165018,20002882,22185851,25050752,20552598,22508632,27522537,24299173,31465465,26757120,29469051,25833935,36535850,31866171,35257426,37055902,35603056,40602657,40502481,42597021,50961407,51030310,44954427,52095517,51225589,62940432,62793242,68917190,88781439,105261473,116302928,120709130,165055094
2011,252186596,391040303,678933504,15986316,23134846,20516662,22421443,25452964,21282801,23264870,27847821,25016303,31395063,27621281,30179366,27065209,36773882,32630538,35770189,37543830,36347578,40909592,40641670,43505397,51373800,51600211,46610737,53140089,52440387,61940177,64539555,72230098,90370891,105407907,116416235,124016544,167158525
2012,254576561,400417728,699187267,16839218,23086831,21009012,22662393,25875071,22141872,24058860,28166078,25763106,31359984,28514086,30828051,28355103,36904876,33429132,36262940,38027774,37114895,41089082,40894259,44437841,51791144,52130345,48311928,54203628,53730762,62064608,66312625,75664328,91948801,105669949,116331281,127396459,169240750
2013,256899730,409909187,719587859,17717910,23025350,21491648,22922695,26249155,23075649,24865453,28479640,26536378,31330962,29430443,31477989,29704531,36891840,34249974,36761204,38509756,37919402,41240244,41548775,45385009,52228061,52650595,50048763,55292621,55071747,62242278,68114463,79214937,93515787,105998510,116262976,130826016,171300683
2014,259361210,419568459,740239259,18635946,22960228,21974918,23221633,26482983,24005089,25648738,28781576,27332602,31223156,30371288,32127193,31115109,36890017,35079618,37300597,38990109,38737018,41463573,42109853,46329521,52647802,53209683,51818338,56418308,56438761,62510392,69956952,82878551,95072126,106354643,116208079,134287151,173346772
2015,261865944,429428653,761027100,19590313,22897449,22464989,23571246,26518336,24872481,26382755,29011826,28146511,31183824,31333193,32772699,32586918,36971015,35905874,37904385,39467043,39551544,41645542,42247229,47262079,53009026,53802927,53608403,57580319,57806283,63062064,71845558,86652532,96615320,106703732,116182717,137751865,175375436
2016,264366216,439498772,782199374,20581872,22849639,22964507,23979736,26313884,25661856,27057429,29357013,28977628,31122512,32314724,33415230,34121207,37112875,36724030,38589139,39940546,40359123,41774264,42351339,48177810,53321626,54382825,55420910,58781895,59175037,63592936,73782310,90531047,98145001,107050095,116145370,141210511,177386818
2017,266676634,449789369,803554542,21609845,22824769,23467810,24438508,25917344,26391343,27678169,29727992,29821745,31043768,33310316,34051250,35717778,37311863,37534797,39338952,40410674,41185809,41861498,42462869,49096983,53612472,54923317,57254681,60016579,60537696,63861626,75761710,94518555,99655905,107349518,116053379,144652795,179379301
2018,268720071,460295677,823827650,22678295,22806875,23973075,24921870,25465822,27085311,28255384,30169097,30670086,30946607,34317154,34678853,37376673,37587449,38339668,40105215,40877099,42030812,42038247,42559879,50027217,53879064,55426598,59107944,61266765,61857510,64096118,77810763,98611179,101149488,107539347,115920900,148084795,181335507

城市人口图例程

# @Time    : 2022/1/12 22:14
# @Author  : 南黎
# @FileName: 8.城市人口.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import pandas_aliveurban_df = pd.read_csv("数据源data/urban_pop.csv", index_col=0, parse_dates=[0], thousands=',')animated_line_chart = (urban_df.sum(axis=1)  # 按行计算的和.pct_change()  # 计算与前一个元素的百分比 比如说[1,2,3].pct_change()=[NaN,(2-1)/1,(3-2)/2] 为什么第一个是NaN空值呢,因为第一数前面没有数给他减,给他除了···.fillna(method='bfill')  # backfill/bfill用下一个非缺失值填充该缺失值,因为前一步计算会有缺失值.mul(100)  # 缺失值单元格在相乘之前已填充100 函数返回数据帧和其他元素的乘法。此功能本质上与dataframe * other,但它提供了额外的支持来处理其中一个输入中的缺失值。.plot_animated(kind="line",  # 图表类型为折线图title="子图1",  # 子图名称period_label=False,  # 不显示时间add_legend=False  # 不显示渲染图进度条))animated_bar_chart = urban_df.plot_animated(n_visible=10,  # 属性参数取10个title="子图2",  # 子图名称period_fmt="%Y"  # 时间格式,XXXX年
)pandas_alive.animate_multiple_plots(filename='8.城市人口.gif',plots=[animated_bar_chart, animated_line_chart],  # 两个表放进一个列表中title='发现你走远了——8.城市人口',enable_progress_bar=True,adjust_subplot_top=0.85,# 设置子图的位置# adjust_subplot_left=0.5,# adjust_subplot_right=0.9,# adjust_subplot_bottom=0.1,# adjust_subplot_top=0.9,# adjust_subplot_wspace=0.2,# adjust_subplot_hspace=0.25
)

在这里插入图片描述


9.G7国家的预期寿命

内容和前面的图8.城市人口 类似,主要是更多的综合应用,结合了数据处理(从网络上获取数据并转化成我们需要的数据)

G7国家的预期寿命图API说明:

data_raw = data_raw.pivot(
index=“Year”, columns=“Entity”, values=“Life expectancy (Gapminder, UN)”
)

  • 重塑数据(产生一个“pivot”表格)以列值为标准。使用来自索引/列的唯一的值(去除重复值)为轴形成dataframe结果。

G7国家的预期寿命图数据集

数据集文件名为 Life Expectancy in G7 Countries,码云下载

data_raw = pd.read_csv("数据源data/Life Expectancy in G7 Countries.csv")
# 原作者是在线获取,这里直接用已经下载好的csv
# data_raw = pd.read_csv(
#     "https://raw.githubusercontent.com/owid/owid-datasets/master/datasets/Long%20run%20life%20expectancy%20-%20Gapminder%2C%20UN/Long%20run%20life%20expectancy%20-%20Gapminder%2C%20UN.csv"
# )

G7国家的预期寿命图例程

# @Time    : 2022/1/12 22:15
# @Author  : 南黎
# @FileName: 9.G7国家的预期寿命.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import pandas_alive
import pandas as pddata_raw = pd.read_csv("数据源data/Life Expectancy in G7 Countries.csv")
# 原作者是在线获取,这里直接用已经下载好的csv
# data_raw = pd.read_csv(
#     "https://raw.githubusercontent.com/owid/owid-datasets/master/datasets/Long%20run%20life%20expectancy%20-%20Gapminder%2C%20UN/Long%20run%20life%20expectancy%20-%20Gapminder%2C%20UN.csv"
# )list_G7 = ["Canada","France","Germany","Italy","Japan","United Kingdom","United States",
]
#重塑数据(产生一个“pivot”表格)以列值为标准。使用来自索引/列的唯一的值(去除重复值)为轴形成dataframe结果。
data_raw = data_raw.pivot(index="Year", columns="Entity", values="Life expectancy (Gapminder, UN)"
)data = pd.DataFrame()
data["Year"] = data_raw.reset_index()["Year"]
#因为原始网页数据集有很多国家,这里选择我们需要的7个国家
for country in list_G7:data[country] = data_raw[country].valuesdata = data.fillna(method="pad")
data = data.fillna(0)
data = data.set_index("Year").loc[1900:].reset_index()data["Year"] = pd.to_datetime(data.reset_index()["Year"].astype(str))data = data.set_index("Year")animated_bar_chart = data.plot_animated(period_fmt="%Y",#动态更新图中时间戳perpendicular_bar_func="mean", #设置平均值辅助线period_length=200,#周期长度 200msfixed_max=True,)animated_line_chart = data.plot_animated(kind="line",period_fmt="%Y",period_length=200,fixed_max=True
)pandas_alive.animate_multiple_plots(filename="9.G7国家的预期寿命.gif",plots=[animated_bar_chart, animated_line_chart],title="发现你走远了——9.G7国家的预期寿命",adjust_subplot_left=0.2,adjust_subplot_top=0.9,enable_progress_bar=True
)

在这里插入图片描述


10.新南威尔士州 COVID 可视化

数据集接口异常,我没有绘制成功。····

新南威尔士州 COVID 可视化API说明:

新南威尔士州 COVID 可视化数据集

新南威尔士州 COVID 可视化例程

# @Time    : 2022/1/12 22:16
# @Author  : 南黎
# @FileName: 10.新南威尔士州 COVID 可视化.pyimport pandas as pd######显示中文宋体字体导入,如果使用中文加上这段代码######
import matplotlib as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#####################################################import geopandas
import pandas as pd
import pandas_alive
import contextily
import matplotlib.pyplot as pltimport urllib.request, jsonwith urllib.request.urlopen("https://data.nsw.gov.au/data/api/3/action/package_show?id=aefcde60-3b0c-4bc0-9af1-6fe652944ec2"
) as url:data = json.loads(url.read().decode())
print(data)
# Extract url to csv component
covid_nsw_data_url = data["result"]["resources"][0]["url"]# Read csv from data API url
nsw_covid = pd.read_csv(covid_nsw_data_url)
postcode_dataset = pd.read_csv("数据源data/postcode-data.csv")# Prepare data from NSW health datasetnsw_covid = nsw_covid.fillna(9999)
nsw_covid["postcode"] = nsw_covid["postcode"].astype(int)grouped_df = nsw_covid.groupby(["notification_date", "postcode"]).size()
grouped_df = pd.DataFrame(grouped_df).unstack()
grouped_df.columns = grouped_df.columns.droplevel().astype(str)grouped_df = grouped_df.fillna(0)
grouped_df.index = pd.to_datetime(grouped_df.index)cases_df = grouped_df# Clean data in postcode dataset prior to matchinggrouped_df = grouped_df.T
postcode_dataset = postcode_dataset[postcode_dataset['Longitude'].notna()]
postcode_dataset = postcode_dataset[postcode_dataset['Longitude'] != 0]
postcode_dataset = postcode_dataset[postcode_dataset['Latitude'].notna()]
postcode_dataset = postcode_dataset[postcode_dataset['Latitude'] != 0]
postcode_dataset['Postcode'] = postcode_dataset['Postcode'].astype(str)# Build GeoDataFrame from Lat Long dataset and make map chart
grouped_df['Longitude'] = grouped_df.index.map(postcode_dataset.set_index('Postcode')['Longitude'].to_dict())
grouped_df['Latitude'] = grouped_df.index.map(postcode_dataset.set_index('Postcode')['Latitude'].to_dict())
gdf = geopandas.GeoDataFrame(grouped_df, geometry=geopandas.points_from_xy(grouped_df.Longitude, grouped_df.Latitude),crs="EPSG:4326")
gdf = gdf.dropna()# Prepare GeoDataFrame for writing to geopackage
gdf = gdf.drop(['Longitude','Latitude'],axis=1)
gdf.columns = gdf.columns.astype(str)
gdf['postcode'] = gdf.index
gdf.to_file("数据源data/nsw-covid19-cases-by-postcode.gpkg", layer='nsw-postcode-covid', driver="GPKG")# Prepare GeoDataFrame for plotting
gdf.index = gdf.postcode
gdf = gdf.drop('postcode',axis=1)
gdf = gdf.to_crs("EPSG:3857") #Web Mercatormap_chart = gdf.plot_animated(basemap_format={'source':contextily.providers.Stamen.Terrain},cmap='cool')cases_df.to_csv('数据源data/nsw-covid-cases-by-postcode.csv')from datetime import datetimebar_chart = cases_df.sum(axis=1).plot_animated(kind='line',label_events={'Ruby Princess Disembark':datetime.strptime("19/03/2020", "%d/%m/%Y"),'Lockdown':datetime.strptime("31/03/2020", "%d/%m/%Y")},fill_under_line_color="blue",add_legend=False
)map_chart.ax.set_title('Cases by Location')grouped_df = pd.read_csv('数据源data/nsw-covid-cases-by-postcode.csv', index_col=0, parse_dates=[0])line_chart = (grouped_df.sum(axis=1).cumsum().fillna(0).plot_animated(kind="line", period_label=False, title="Cumulative Total Cases", add_legend=False)
)def current_total(values):total = values.sum()s = f'Total : {int(total)}'return {'x': .85, 'y': .2, 's': s, 'ha': 'right', 'size': 11}race_chart = grouped_df.cumsum().plot_animated(n_visible=5, title="Cases by Postcode", period_label=False,period_summary_func=current_total
)import timetimestr = time.strftime("%d/%m/%Y")plots = [bar_chart, line_chart, map_chart, race_chart]from matplotlib import rcParamsrcParams.update({"figure.autolayout": False})
# make sure figures are `Figure()` instances
figs = plt.Figure()
gs = figs.add_gridspec(2, 3, hspace=0.5)
f3_ax1 = figs.add_subplot(gs[0, :])
f3_ax1.set_title(bar_chart.title)
bar_chart.ax = f3_ax1f3_ax2 = figs.add_subplot(gs[1, 0])
f3_ax2.set_title(line_chart.title)
line_chart.ax = f3_ax2f3_ax3 = figs.add_subplot(gs[1, 1])
f3_ax3.set_title(map_chart.title)
map_chart.ax = f3_ax3f3_ax4 = figs.add_subplot(gs[1, 2])
f3_ax4.set_title(race_chart.title)
race_chart.ax = f3_ax4timestr = cases_df.index.max().strftime("%d/%m/%Y")
figs.suptitle(f"NSW COVID-19 Confirmed Cases up to {timestr}")pandas_alive.animate_multiple_plots('10.新南威尔士州 COVID 可视化.gif',plots,figs,enable_progress_bar=True
)

在这里插入图片描述


总结

欢迎关注 『pandas_alive绘制竞赛动图』 专栏,持续更新中
欢迎关注 『pandas_alive绘制竞赛动图』 专栏,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】


这篇关于【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive数据可视化中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009662

相关文章

可视化实训复习篇章

前言: 今天,我们来学习seaborn库可视化,当然,这个建立在Matplotlib的基础上,话不多说,进入今天的正题吧!当然,这个是《python数据分析与应用》书中,大家有需求的可以参考这本书。 知识点: Matplotlib中有两套接口分别是pyplot和pyylab,即绘图时候主要导入的是Matplotlib库下的两个子模块(两个py文件)matplotlib.pyplot和matp

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

解析 XML 和 INI

XML 1.TinyXML库 TinyXML是一个C++的XML解析库  使用介绍: https://www.cnblogs.com/mythou/archive/2011/11/27/2265169.html    使用的时候,只要把 tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

以canvas方式绘制粒子背景效果,感觉还可以

这个是看到项目中别人写好的,感觉这种写法效果还可以,就存留记录下 就是这种的背景效果。如果想改背景颜色可以通过canvas.js文件中的fillStyle值改。 附上demo下载地址。 https://download.csdn.net/download/u012138137/11249872