使用matplotlib创建动画条形图比赛

bar-chart-race的Python项目详细描述


条形图竞赛

PyPI - License

使用matplotlib在Python中制作动画条形图竞赛。在

img

官方文件

有关详细的使用说明,请访问bar_chart_race official documentation。在

安装

安装方式:

  • pip install bar_chart_race
  • conda install -c conda-forge bar_chart_race

快速启动

必须以包含“宽”数据的pandas数据帧开头,其中:

  • 一个周期代表每一个时间
  • 每列包含特定类别的值
  • 索引包含时间组件(可选)

下面的数据是一个格式正确的数据示例。它显示了迄今为止几个国家死于COVID-19的总人数。在

img

主函数-bar_chart_race

有一个主函数,^{str1}$bar_chart_race,我们用它来重新创建上面的视频。除filenametitle之外,所有参数都以其默认值显示。在

importbar_chart_raceasbcrdf=bcr.load_dataset('covid19_tutorial')bcr.bar_chart_race(df=df,filename='covid19_horiz.mp4',orientation='h',sort='desc',n_bars=6,fixed_order=False,fixed_max=True,steps_per_period=10,interpolate_period=False,label_bars=True,bar_size=.95,period_label={'x':.99,'y':.25,'ha':'right','va':'center'},period_fmt='%B %d, %Y',period_summary_func=lambdav,r:{'x':.99,'y':.18,'s':f'Total deaths: {v.nlargest(6).sum():,.0f}','ha':'right','size':8,'family':'Courier New'},perpendicular_bar_func='median',period_length=500,figsize=(5,3),dpi=144,cmap='dark12',title='COVID-19 Deaths by Country',title_size='',bar_label_size=7,tick_label_size=7,shared_fontdict={'family':'Helvetica','color':'.1'},scale='linear',writer=None,fig=None,bar_kwargs={'alpha':.7},filter_column_colors=False)

将动画保存到磁盘或返回HTML

保留filename参数为None,以HTML形式返回动画。如果您运行的是Jupyter笔记本,它将自动嵌入其中。在

^{pr2}$

img

定制

有许多选项可以自定义条形图竞赛,以获得所需的动画。下面,我们有一个动画,其中最大的x值和条的顺序设置为整个持续时间。还添加了自定义摘要标签和中间带垂直条。在

defperiod_summary(values,ranks):top2=values.nlargest(2)leader=top2.index[0]lead=top2.iloc[0]-top2.iloc[1]s=f'{leader} by {lead:.0f}'return{'s':s,'x':.95,'y':.07,'ha':'right','size':8}bcr.bar_chart_race(df_baseball,period_length=1000,fixed_max=True,fixed_order=True,n_bars=10,figsize=(5,3),period_fmt='Season {x:,.0f}',title='Top 10 Home Run Hitters by Season Played')

img

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Maven中的java,为什么要运行“mvn clean”?   java会降低图像质量。OutOfMemory异常Android   在Java8中将函数传递到流的过滤方法   jboss6。x java。lang.NoClassDefFoundError,当我将<listenerclass>包含到web时。xml java   java读取图像像素时,像素Alpha始终为255   java在迭代后跳过一行   java如何创建我自己的单链表   意图上的java空指针异常。getStringExtra.:安卓   具有连接实体的java Hibernate onetoone映射   java需要帮助在自制的仓鼠模拟器上实现启动/恢复/暂停/停止线程操作   如何测试非主方法?[Java,IntelliJ]   java jdbc自动提交(false)不起作用   java在JADE中的同一容器中创建多个代理   java OkHttp获取失败的响应正文   java Webdriver flash按钮