字符动图_手把手教你做一个python+matplotlib的炫酷的数据可视化动图

1.数据可视化动图,是数据可视化的高级显示,最近很流行。

f283df70a182fbfc5e05d29240ab428e.png

2.比如下面将告诉你如何制作一个如下的数据可视化动图。

3.例:

3.1 准备一组数据,虚拟的csv资料,对应关系如下

4个项目:namegroupyearvalue

name:李明、张三、王二、许仙、汤博、陈皮、袁飞

group: ['安徽', '浙江', '江西', '上海','深圳', '北京', '重庆']

year:1968~2019

value:自己对应随便估计

3.2 我是先现在excel上编辑,然后另存为4.csv(注意一定是另存为,否则在导入数据时会出现格式不对)

3.3 python3.8+matplotlib作图前准备

3.4 代码修改注意:中文字体的设置,数据的导入,和代码的局部修改。

3.5 效果图

图1

d3a48f6d70b51a30b2c93aa9fba13918.gif

3.6 本例虚拟数据的完整代码

图2

d0e052d892ec6ede821e03a901fe1bcb.png

图3

d2928b8beb39e51c5118e027e0e14503.png

图4

b35d9d55f22aa476a0c7b682699feb78.png

4.完整代码

#第1步:导出模块,固定import pandas as pdimport matplotlib.pyplot as pltimport matplotlib.ticker as ticker import matplotlib.animation as animation#第2步:中文字体显示设置1,导出通用字体设置,可调整from matplotlib import font_manager #中文字体显示设置2,引出字体模块和位置#注意此处字体size大小不设置就是默认,设置或不设置后会发现所有文字或汉字大小都固定在my_font,下面单独设size无效了my_font = font_manager.FontProperties(fname="/usr/share/fonts/truetype/noto/simsun.ttf",size=14)#中文字体显示设置,第3步,增加u和fontproperties=my_font,加不加u或r均可以#第3步:导入数据,可调整,文件名和目录可调整#将数据下载下来放在指定默认的目录和文件夹下df = pd.read_csv('4.csv',                  usecols=['name', 'group', 'year', 'value'])#定义全局变量current_year = 2018#第4步:定义dff和图片大小设置,可固定dff=() #定义元组fig, ax = plt.subplots(figsize=(15, 8))#第5步:定义7组数据的颜色,group可调整,但颜色值可调整或者不调整colors = dict(zip(    ['安徽', '浙江', '江西', '上海','深圳', '北京', '重庆'],    ['#adb0ff', '#ffb3ff', '#90d595', '#e48381','#aafbff', '#f7bb5f', '#eafb50']))#第6步:从数据中取值,可固定group_lk = df.set_index('name')['group'].to_dict()#第7步:画图关键设置,可固定def draw_barchart(year):    dff = df[df['year'].eq(year)].sort_values(by='value', ascending=True).tail(10)    ax.clear() #每次清空、刷新    ax.barh(dff['name'], dff['value'], color=[colors[group_lk[x]] for x in dff['name']])    dx = dff['value'].max() / 200        for i, (value, name) in enumerate(zip(dff['value'], dff['name'])):        #在text里加fontproperties=my_font,注意有my_font的地方size存在的意义不大,目前bug        ax.text(value-dx, i,     name,           size=20,fontproperties=my_font,         weight=600, ha='right', va='bottom')        ax.text(value-dx, i-.25, group_lk[name], size=10, fontproperties=my_font,        color='#444444', ha='right', va='baseline')        ax.text(value+dx, i,     f'{value:,.0f}',  size=14, ha='left',  va='center')    #显示文字,x=0,y=1.10,坐标,ha=水平对准=水平线平放    #ax.text()格式=(x,y,string,fontsize=15,verticalalignment="top",horizontalalignment="right")    #string=字符串='文字内容'    #汉字内容可调整,其他不动    ax.text(0, 1.10, '1968 ~ 2018年我国各部分省和地区GDP变化',            transform=ax.transAxes, size=18, fontproperties=my_font,             weight=600, ha='left') #文字标题,第1层    ax.text(0, 1.04, 'GDP (万亿)', transform=ax.transAxes, size=12,     fontproperties=my_font, color='#777777') #显示文字,第2层    ax.text(1, 0.4, year, transform=ax.transAxes, color='#777777', size=46,     ha='right', weight=800) #右边固定显示动图年份    #va=verticalalignment="top",垂直对准#ha=horizontalalignment="right",alignment=对准,水平对准    ax.xaxis.set_ticks_position('top')  #x轴在上面    ax.set_yticks([]) #默认是显示y轴的名称,左边垂直的城市名字,设为[]就是不显示    ax.margins(0, 0.01) #不设置就是默认值,缩放比例(0,0.05)    ax.grid(which='major', axis='x', linestyle='--') #垂直线,布局和格式    ax.set_axisbelow(True)  #默认是true的    #默认是True,False之后不显示黑色线框    plt.box(False) #以animator形式展现动画animator = animation.FuncAnimation(fig, draw_barchart, frames=range(1968, 2019)) plt.show() #以plt的形式展现图片

5.完整代码,可搜索本人易三一世的其他博客

喜欢的可以点赞、加关注、评论和转发。

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

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

相关文章

weblogic jms消息 删除_消息队列与消息中间件概述:消息中间件核心概念与技术选型...

什么是消息?“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。什么是队列?队列(Queue)队列是一种先进先出(FIFO)的数据结构。什么是消息队列&#xff…

伽马分布极大似然估计_一文通俗解释极大似然估计

我们都知道机器学习的大致流程是通过建立一个合理的模型学习现有数据集,然后通过该模型去完成特定的任务。其中每个模型都包含自身的一组特定参数,而这组参数决定着模型的本身。但这里存在一个很关键的一个问题,就是我们如何去找到一组参数使…

python3.5安装pygame_python怎么安装pygame

Pygame 是一种流行的 Python 包,用于编写游戏-鼓励学生学习编程,同时创建有趣的东西。 Pygame 在新窗口中显示图形,因此它将 无法在 WSL 的命令行方法下运行。 但是,如果您通过本教程中所述的 Microsoft Store 安装了 Python&…

所属的用户_关于chmod(变更用户对此文件的相关权限)超详细说明,小白秒懂

Linux下一切都是文件,通过ls -l或者别名ll可以查看文件的详细信息:drwxr-xr-x 第一个字符d指的是目录文件;第2-4个字符rwx:指的是u(user,owner)对这个文件具有可读可写可执行的权限;第5-7字符r-x:指的是g(group)对这个文件具有可读可执行权限&#xff1b…

cad线性标注命令_CAD常用标注快捷键和命令

点击上方 “CAD自学网 ” → 点击右上角“...” → 点选“设为星标 ★ ”为CAD自学网加上星标,即可及时收到干货啦!左下角阅读原文看CAD视频站长推荐:1、CAD2014快速精通进阶提高教程:点击查看 2、室内设计全屋定制全套视频教程&…

计算机怎么设置网络共享,局域网共享设置,教您电脑怎么设置局域网共享

前两天,遇到位朋友说他刚买了台新的电脑,加上原来家里原有的两台电脑了,就三台了,现在想要三台电脑都能够进行一个共享职员的这么设置,就是不知道如何在局域网里怎么设置共享,下面,小编就来跟大…

html引用外部导入式css文件夹,css文件内引用外部资源文件的相对路径

1.default.css文件内容(位于css文件夹下):.ClassName .ClassName .ClassName.page-sidebar .sidebar-search .submit {--该图片相对于css文件所在的位置。不是使用本css文件的html文件位置。background-image: url(../image/search-icon.png);}2.使用本css文件的htm…

京东五星电器送扫地机器人_家电也流行“套餐”,京东五星电器吹响国庆家装“集结号”...

“70吋超薄激光电视、大容量多门法式冰箱、烘干一体滚筒洗衣机、蒸烤一体机、扫地机器人……”一系列的新房采购清单让宿迁的谭小姐直呼头痛,“挑选品牌和型号,比较价格,还要想着跟装修风格是否搭配,好浪费时间。”在线下实体店迎…

c++设置单元格填充色_格式函数text,设置自定义格式的万金油

在日常的数据处理统计中,我们知道,数据格式标准统一,是很重要的前提,如果数据混乱,那么,在后期的数据处理分析,excel就会耍脾气出错的。所以设置好数据格式,是相当重要的。今天&…

生成html_听说你不会用Python将字符串生成PDF?来,我教你!

这是恋习Python推荐的第118篇好文来源:Python爬虫与算法作者:jclian笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF。比如,需要把Python字符串‘这是测试文件’生成为PDF, 该PDF中含有文字‘这是…

大学计算机基础python第二次作业_python第二次作业-titanic数据集练习

一、读入titanic.xlsx文件,按照教材示例步骤,完成数据清洗。 titanic数据集包含11个特征,分别是: Survived:0代表死亡,1代表存活 Pclass:乘客所持票类,有三种值(1,2,3) Name:乘客姓名 Sex:乘客性别 Age:乘客…

大一计算机上机试题2017,2017历年全国计算机二级ACCESS上机试题及答案

可通过实际操作,锻炼Access的学习能力,动手能力,编程思想锻炼等,也可以作为access 数据库国际二级考试使用呢历年Access操作试题解析(2017.5.8整理,可能为2015年以前的)第一套一、基本操作题(计30分)(1)新建数据库"学生.mdb",将考生文件夹中的…

怎么做手机的上下滑动_手机视频恢复怎么做?删除时间较久的找回方法

手机视频恢复?话说到手机视频误删的情况对于一些用户来说是常态,手机视频多又杂,经常全选删除,不小心多选了没有发现就给一起删除了!事隔多个月以后突然要用到,却怎么也找不到了,最近删除相册也…

opencv利用矩形框选中某一区域_【从零学习OpenCV】4Ubuntu系统中安装OpenCV 4

经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。Ubuntu系统中安装OpenCV 4前面我…

英伟达最大gpu_英伟达正式发布Ampere架构GPU,完成史上最大性能飞跃

PingWest品玩5月14日讯,在GTC 2020线上发布会上,英伟达CEO黄仁勋正式推出了安培(Ampere)架构GPU。据其表示,这块芯片采用7nm工艺,540亿晶体管,20倍AI算力,实现5大技术创新。黄仁勋表示,“这是英…

c++ map 析构函数_C++|类继承关系中的虚函数、虚析构函数、虚基类

在继承关系中,虚函数、虚析构函数、虚基类中使用的关键字virtual都是在告诉编译器,此处要进行特殊处理:虚函数:函数重写时的要求编译器动态绑定来实现多多态 ;虚析构函数:当基类指针指向在堆内实现的派生类…

上海j计算机一级分值,计算机一级考试内容及分值

计算机一级考试内容有哪些,各题型分值是多少,以下是小编整理的计算机一级考试相关内容,供您参考与阅读。计算机一级考试内容及分值软件环境:Windows 7 操作系统,WPS Office 2012 办公软件。并在指定时间内,完成下列各项操作:(1) 选择题(计算机…

启动之后自己关闭_电脑一开都是广告,请问怎么永久关闭?

电脑一开机,主屏广告、右下角弹窗广告蹭蹭蹭的弹个不停,相信很多人都有这样的困扰,尤其是在公共电脑上,广告多的要命。你是否有这样的经历,上学的时候,教室前面的用来讲课的电脑,在老师用PPT授课…

5错误怎么办_“选择不对,一生白费”:如果选错了,该怎么办?记住这两句话...

上帝把1、2、3、4、5、6、7、8、9、0十个数字摆出来,让面前10个人去取,并说道:“一人只能取一个。”人们争先恐后地拥上去,把9、8、7、6、5、4、3都抢走了。取到2和1的人,都说自己运气不好,得到的很少很少。…

北京大学灵异事件计算机房,北大 清华高校 发生的真实恐怖灵异事件

北京大学我有一高中同学b,大学在交大上的,有段时间没联系了,偶然的机会在街上遇到他,当时我被他吓了一跳,只见他脸色发青,眼窝深陷,一问之下,他神情紧张地告诉我:他遇到鬼…