Bar Chart Race,一个超强的python库

Bar Chart Race,一个超强的python库

大家好,我是木木。今天给大家分享一个神奇的 Python 库。

Bar Chart Race。这是一个能够创建动态条形图赛跑动画的库,非常适用于展示数据随时间变化的趋势。通过使用Bar Chart Race,你可以将枯燥的数据转换成生动、直观、动态的条形图动画,使数据展示变得更加吸引人和易于理解。这个库对于数据分析师、营销人员、教育工作者来说是一个非常有用的工具,通过该项目可以用 Python 创建条形图比赛动画,显示数据排名的动态条形图,直观地展示数据变化过程。

特点

  1. 动态数据展示
    1. Bar Chart Race 使得数据随时间的变化可通过动态条形图赛跑的形式展示出来,为观看者提供了一种全新的数据可视化体验。
  2. 高度可定制
    1. 该库提供了丰富的定制选项,包括颜色、标签、时间间隔等,允许用户根据自己的需求定制动画的各个方面。
  3. 易于使用
    1. 尽管Bar Chart Race提供了强大的功能,但它的使用过程非常简单,用户可以轻松地从基础数据创建出引人注目的动态条形图动画。
Bar Chart Race,一个超强的python库
图源网络

最佳实践

安装方法

首先,您需要通过pip安装Bar Chart Race,安装命令如下:

pip install bar_chart_race
conda install -c conda-forge bar_chart_race

接下来,我将演示该库两个易于上手的功能:创建基本的条形图赛跑动画和定制动画样式。

示例代码

  1. 创建基本的条形图赛跑动画

为了创建动画,您需要准备一个以时间为索引的DataFrame,其中每一列代表一个竞赛者,每一行代表一个时间点的数据。

import bar_chart_race as bcr
import pandas as pd

# 准备数据
df = pd.read_csv('your_data.csv', index_col='date', parse_dates=['date'])

# 创建条形图赛跑动画
bcr.bar_chart_race(df=df, filename='bcr_race.mp4')
  1. 定制动画样式

您可以通过修改参数来定制动画的样式,包括颜色、标签等。

import bar_chart_race as bcr
df = bcr.load_dataset('covid19_tutorial')
bcr.bar_chart_race(
        df=df, 
        filename='../docs/images/covid19_horiz.gif'
        orientation='h'
        sort='desc'
        n_bars=8
        fixed_order=False
        fixed_max=True
        steps_per_period=20
        period_length=500
        end_period_pause=0,
        interpolate_period=False
        period_label={'x'.98'y'.3'ha''right''va''center'}, 
        period_template='%B %d, %Y'
        period_summary_func=lambda v, r: {'x'.98'y'.2
                                          's'f'Total deaths: {v.sum():,.0f}'
                                          'ha''right''size'11}, 
        perpendicular_bar_func='median'
        colors='dark12'
        title='COVID-19 Deaths by Country'
        bar_size=.95
        bar_textposition='inside',
        bar_texttemplate='{x:,.0f}'
        bar_label_font=7
        tick_label_font=7
        tick_template='{x:,.0f}',
        shared_fontdict=None
        scale='linear'
        fig=None
        writer=None
        bar_kwargs={'alpha'.7},
        fig_kwargs={'figsize': (63.5), 'dpi'144},
        filter_column_colors=False

这两段代码展示了如何使用Bar Chart Race创建并定制动态条形图赛跑动画。通过简单的API调用和参数设置,您可以轻松地将数据转换成引人注目的动态可视化效果。

Bar Chart Race,一个超强的python库
图源网络

高级应用

接下来,我们深入一项需要一定开发经验和难度的功能:下面,我们有一个动画,其中的最大 x 值和顺序的图设置设置为整个持续时间。还添加了自定义汇总标签和中间值的垂直条

def period_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'.99'y'.03'ha''right''size'8}

df_baseball = bcr.load_dataset('baseball').pivot(index='year',
                                                 columns='name',
                                                 values='hr')
df_baseball.bcr.bar_chart_race(
                   period_length=1000,
                   fixed_max=True
                   fixed_order=True
                   n_bars=10,
                   period_summary_func=period_summary,
                   period_label={'x'.99'y'.1},
                   period_template='Season {x:,.0f}',
                   title='Top 10 Home Run Hitters by Season Played')

通过这段代码,您可以自定义条形图比赛,以获得您想要的动画。

Bar Chart Race 是一个非常有趣且功能强大的工具,能够让数据可视化变得更加生动和有趣。希望本次分享能帮助您在数据呈现方面带来新的灵感和方法。


原文始发于微信公众号(木木夕咦):Bar Chart Race,一个超强的python库

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/228850.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!