【数据可视化】动态条形图Python代码实现

news2025/1/13 17:05:12

使用 Python 中的 bar_chart_race_cn 库创建动态条形图

前言

数据可视化在今天的数据分析和传达信息中起着至关重要的作用。动态条形图是一种强大的数据可视化工具,可以帮助我们展示随时间变化的数据趋势。本文将介绍如何使用 Python 编程语言中的 bar_chart_race_cn 库创建动态条形图。动态条形图可以用于展示各种数据,从股票价格的波动到体育比赛的得分变化,它们能够生动地呈现数据的演变,有助于更好地理解和分析信息。

在本文中,我们将深入探讨 bar_chart_race_cn 库的使用,以及如何准备数据、自定义图表样式以及创建动态条形图。我们还将介绍一些关键的 Python 库,如 pandasmatplotlib,它们在数据处理和图形绘制中扮演了重要的角色。

无论你是数据分析师、数据科学家还是对数据可视化感兴趣的任何人,本文都将帮助你学会创建引人注目的动态条形图,以更好地传达你的数据和见解。

准备工作

在创建动态条形图之前,我们需要做一些准备工作。以下是我们将使用的主要Python库以及它们的作用:

pandas

pandas 是一个强大的数据处理库,它提供了用于导入、操作和分析数据的数据结构和函数。我们将使用 pandas 来读取和处理我们的数据。

bar_chart_race_cn

bar_chart_race_cn 是一个Python库,它是 bar_chart_race 的中文版本,用于创建动态条形图。我们将使用它来制作我们的动态条形图。

matplotlib

matplotlib 是一个用于创建静态图形的Python库。虽然 bar_chart_race_cn 用于创建动态图表,但我们仍然需要 matplotlib 用于设置字体和样式,以确保图表中的中文文本正确显示。

用户选择要用于图表的列

在我们的代码中,首先我们要求用户选择用于创建动态条形图的列。这是为了让用户决定图表中的关键数据是什么,以及如何显示它们。以下是这部分的代码解释:

print("请选择用于图表的列:")
for i, col in enumerate(column_names):
    print(f"{i + 1}: {col}")

category_index = int(input("选择类别列的索引 (1-{num_columns}): ")) - 1
value_index = int(input("选择值列的索引 (1-{num_columns}): ")) - 1
date_index = int(input("选择日期列的索引 (1-{num_columns}): ")) - 1

在这里,我们首先列出了数据框中的所有列供用户选择。然后,用户被要求输入用于类别、值和日期的列的索引。这些选择将决定动态条形图中的类别、值和时间维度。

读取CSV文件

接下来,我们读取一个CSV文件以获取我们的数据。这是通过以下代码完成的:

df = pd.read_csv('game_demo.csv')

这一行代码使用了 pandas 库中的 read_csv 函数,它将CSV文件读取到一个名为 df 的数据框中。这个数据框将包含我们用于创建动态条形图的数据。

设置中文字体和样式

在我们的代码中,我们希望图表中的中文文本显示正确,因此我们需要设置中文字体和样式。这是通过以下代码完成的:

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

这些行代码使用了 matplotlib 库的 rcParams 设置,将中文字体设置为SimHei,同时设置axes.unicode_minus为False,以解决负号显示问题。

创建动态图表

最后,我们使用 bar_chart_race_cn 库来创建动态条形图。以下是这一部分的代码解释:

bcr.bar_chart_race(df=df.pivot(index=date_column, columns=category_column, values=value_column),
                   filename='test.mp4', n_bars=5, fixed_max=True,
                   period_label={'x': .99, 'y': .25, 'ha': 'right', 'va': 'center'}, period_fmt='%Y',
                   period_summary_func=lambda v, r: {'x': .99, 'y': .5,
                                                     's': f'Top 3: {v.nlargest(3).map("{:.2f}".format).to_string(index=False)}',
                                                     'ha': 'right', 'size': 8}, perpendicular_bar_func='median',
                   title=f'{category_column} {value_column} 变化',
                   shared_fontdict={'family': 'Microsoft YaHei'}, bar_kwargs={'alpha': .7},
                   )

在这里,我们调用了 bar_chart_race_cn 库中的 bar_chart_race 函数,传递了多个参数,包括数据框、输出文件名、条形图的一些参数(如条形数量、是否使用固定的最大值等)、图表标签、标题、字体设置等等。

示例

为了更好地理解如何使用 bar_chart_race_cn 库创建动态条形图,让我们考虑一个示例。假设我们有一份包含每年不同城市的gdp数据的CSV文件,我们希望创建一个动态条形图来展示每个城市的人口随时间的变化。

首先,我们需要准备数据,选择城市作为类别列,gdp作为值列,日期作为日期列。接着,我们使用以下代码创建动态条形图:

# -*- coding = utf-8 -*-
"""
# @Time : 2023/9/16 17:00
# @Author : FriK_log_ff 374591069
# @File : region.py
# @Software: PyCharm
# @Function: 请输入项目功能
"""
import pandas as pd
import bar_chart_race_cn as bcr
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 读取CSV文件
df = pd.read_csv('all_region.csv')

# 自动获取列数和列名
num_columns = len(df.columns)
column_names = df.columns.tolist()

# 用户选择要用于图表的列
print("请选择用于图表的列:")
for i, col in enumerate(column_names):
    print(f"{i + 1}: {col}")

category_index = int(input("选择类别列的索引 (1-{num_columns}): ")) - 1
value_index = int(input("选择值列的索引 (1-{num_columns}): ")) - 1
date_index = int(input("选择日期列的索引 (1-{num_columns}): ")) - 1

# 根据用户选择的列索引获取列名
category_column = column_names[category_index]
value_column = column_names[value_index]
date_column = column_names[date_index]
date_format = '%Y'
df[date_column] = pd.to_datetime(df[date_column], format=date_format)
# 设置参数


# 创建动态图表
bcr.bar_chart_race(
    df=df.pivot(index=date_column, columns=category_column, values=value_column),
    filename='test.mp4', n_bars=5, fixed_max=True,
    period_label={'x': .99, 'y': .25, 'ha': 'right', 'va': 'center'}, period_fmt='%Y',
    period_summary_func=lambda v, r : {'x': .99, 'y': .5, 's': f'Top 3: {v.nlargest(3)}', 'ha': 'right', 'size': 8},
    perpendicular_bar_func='median',
    title=f'{category_column} {value_column} 变化',
    shared_fontdict={'family': 'Microsoft YaHei'}, bar_kwargs={'alpha': .7},
)


在这个示例中,我们首先读取了包含人口数据的CSV文件,并设置了中文字体和样式。然后,我们选择了类别列(城市)、值列(人口数量)和日期列,以便创建图表。最后,我们调用 bar_chart_race_cn 库来生成动态条形图,并指定输出文件名为population_race.mp4

这个示例展示了如何使用代码生成动态条形图,以可视化城市人口随时间的变化。读者可以根据自己的数据和需求来创建类似的动态图表。

在这里插入图片描述

country,gdp,year
北京市,41610.9,2022
北京市,41045.6,2021
北京市,35943.3,2020
北京市,35445.1,2019
北京市,33106,2018
北京市,29883,2017
北京市,27041.2,2016
北京市,24779.1,2015
北京市,22926,2014
北京市,21134.6,2013
北京市,19024.7,2012
北京市,17188.8,2011
北京市,14964,2010
北京市,12900.9,2009
北京市,11813.1,2008
北京市,10425.5,2007
北京市,8387,2006
北京市,7149.8,2005
北京市,6252.5,2004
北京市,5267.2,2003
天津市,16311.3,2022
天津市,15685.1,2021
天津市,14008,2020
天津市,14055.5,2019
天津市,13362.9,2018
天津市,12450.6,2017
天津市,11477.2,2016
天津市,10879.5,2015
天津市,10640.6,2014
天津市,9945.4,2013
天津市,9043,2012
天津市,8112.5,2011
天津市,6830.8,2010
天津市,5709.6,2009
天津市,5182.4,2008
天津市,4158.4,2007
天津市,3538.2,2006
天津市,3158.6,2005
天津市,2621.1,2004
天津市,2257.8,2003
河北省,42370.4,2022
河北省,40397.1,2021
河北省,36013.8,2020
河北省,34978.6,2019
河北省,32494.6,2018
河北省,30640.8,2017
河北省,28474.1,2016
河北省,26398.4,2015
河北省,25208.9,2014
河北省,24259.6,2013
河北省,23077.5,2012
河北省,21384.7,2011
河北省,18003.6,2010
河北省,15306.9,2009
河北省,14200.1,2008
河北省,12152.9,2007
河北省,10043,2006
河北省,8773.4,2005
河北省,7588.6,2004
河北省,6333.6,2003
山西省,25642.6,2022
山西省,22870.4,2021
山西省,17835.6,2020
山西省,16961.6,2019
山西省,15958.1,2018
山西省,14484.3,2017
山西省,11946.4,2016
山西省,11836.4,2015
山西省,12094.7,2014
山西省,11987.2,2013
山西省,11683.1,2012
山西省,10894.4,2011
山西省,8903.9,2010
山西省,7147.6,2009
山西省,7223,2008
山西省,5935.6,2007
山西省,4713.6,2006
山西省,4079.4,2005
山西省,3496,2004
山西省,2854.3,2003
内蒙古自治区,23158.6,2022
内蒙古自治区,21166,2021
内蒙古自治区,17258,2020
内蒙古自治区,17212.5,2019
内蒙古自治区,16140.8,2018
内蒙古自治区,14898.1,2017
内蒙古自治区,13789.3,2016
内蒙古自治区,12949,2015
内蒙古自治区,12158.2,2014
内蒙古自治区,11392.4,2013
内蒙古自治区,10470.1,2012
内蒙古自治区,9458.1,2011
内蒙古自治区,8199.9,2010
内蒙古自治区,7104.2,2009
内蒙古自治区,6242.4,2008
内蒙古自治区,5166.9,2007
内蒙古自治区,4161.8,2006
内蒙古自治区,3523.7,2005
内蒙古自治区,2942.4,2004
内蒙古自治区,2388.4,2003
辽宁省,28975.1,2022
辽宁省,27569.5,2021
辽宁省,25011.4,2020
辽宁省,24855.3,2019
辽宁省,23510.5,2018
辽宁省,21693,2017
辽宁省,20392.5,2016
辽宁省,20210.3,2015
辽宁省,20025.7,2014
辽宁省,19208.8,2013
辽宁省,17848.6,2012
辽宁省,16354.9,2011
辽宁省,13896.3,2010
辽宁省,12815.7,2009
辽宁省,12137.7,2008
辽宁省,10292.2,2007
辽宁省,8390.3,2006
辽宁省,7260.8,2005
辽宁省,6469.8,2004
辽宁省,5906.3,2003
吉林省,13070.2,2022
吉林省,13163.8,2021
吉林省,12256,2020
吉林省,11726.8,2019
吉林省,11253.8,2018
吉林省,10922,2017
吉林省,10427,2016
吉林省,10018,2015
吉林省,9966.5,2014
吉林省,9427.9,2013
吉林省,8678,2012
吉林省,7734.6,2011
吉林省,6410.5,2010
吉林省,5434.8,2009
吉林省,4834.7,2008
吉林省,4080.3,2007
吉林省,3226.5,2006
吉林省,2776.5,2005
吉林省,2455.2,2004
吉林省,2141,2003
黑龙江省,15901,2022
黑龙江省,14858.2,2021
黑龙江省,13633.4,2020
黑龙江省,13544.4,2019
黑龙江省,12846.5,2018
黑龙江省,12313,2017
黑龙江省,11895,2016
黑龙江省,11690,2015
黑龙江省,12170.8,2014
黑龙江省,11849.1,2013
黑龙江省,11015.8,2012
黑龙江省,9935,2011
黑龙江省,8308.3,2010
黑龙江省,7218.9,2009
黑龙江省,7134.2,2008
黑龙江省,6126.3,2007
黑龙江省,5329.8,2006
黑龙江省,4756.4,2005
黑龙江省,4134.7,2004
黑龙江省,3609.7,2003
上海市,44652.8,2022
上海市,43653.2,2021
上海市,38963.3,2020
上海市,37987.6,2019
上海市,36011.8,2018
上海市,32925,2017
上海市,29887,2016
上海市,26887,2015
上海市,25269.8,2014
上海市,23204.1,2013
上海市,21305.6,2012
上海市,20009.7,2011
上海市,17915.4,2010
上海市,15742.4,2009
上海市,14536.9,2008
上海市,12878.7,2007
上海市,10598.9,2006
上海市,9197.1,2005
上海市,8101.6,2004
上海市,6804,2003
江苏省,122875.6,2022
江苏省,117392.4,2021
江苏省,102807.7,2020
江苏省,98656.8,2019
江苏省,93207.6,2018
江苏省,85869.8,2017
江苏省,77350.9,2016
江苏省,71255.9,2015
江苏省,64830.5,2014
江苏省,59349.4,2013
江苏省,53701.9,2012
江苏省,48839.2,2011
江苏省,41383.9,2010
江苏省,34471.7,2009
江苏省,30945.5,2008
江苏省,25988.4,2007
江苏省,21240.8,2006
江苏省,18121.3,2005
江苏省,14823.1,2004
江苏省,12442.9,2003
浙江省,77715.4,2022
浙江省,74040.8,2021
浙江省,64689.1,2020
浙江省,62462,2019
浙江省,58002.8,2018
浙江省,52403.1,2017
浙江省,47254,2016
浙江省,43507.7,2015
浙江省,40023.5,2014
浙江省,37334.6,2013
浙江省,34382.4,2012
浙江省,31854.8,2011
浙江省,27399.9,2010
浙江省,22833.7,2009
浙江省,21284.6,2008
浙江省,18640,2007
浙江省,15302.7,2006
浙江省,13028.3,2005
浙江省,11482.1,2004
浙江省,9753.4,2003
安徽省,45045,2022
安徽省,42565.2,2021
安徽省,38061.5,2020
安徽省,36845.5,2019
安徽省,34010.9,2018
安徽省,29676.2,2017
安徽省,26307.7,2016
安徽省,23831.2,2015
安徽省,22519.7,2014
安徽省,20584,2013
安徽省,18341.7,2012
安徽省,16284.9,2011
安徽省,13249.8,2010
安徽省,10864.7,2009
安徽省,9517.7,2008
安徽省,7941.6,2007
安徽省,6500.3,2006
安徽省,5675.9,2005
安徽省,5129.1,2004
安徽省,4307.8,2003
福建省,53109.9,2022
福建省,49566.1,2021
福建省,43608.6,2020
福建省,42326.6,2019
福建省,38687.8,2018
福建省,33842.4,2017
福建省,29609.4,2016
福建省,26819.5,2015
福建省,24942.1,2014
福建省,22503.8,2013
福建省,20190.7,2012
福建省,17917.7,2011
福建省,15002.5,2010
福建省,12418.1,2009
福建省,10931.8,2008
福建省,9325.6,2007
福建省,7468.6,2006
福建省,6415.5,2005
福建省,5712.1,2004
福建省,4999.6,2003
江西省,32074.7,2022
江西省,29827.8,2021
江西省,25782,2020
江西省,24667.3,2019
江西省,22716.5,2018
江西省,20210.8,2017
江西省,18388.6,2016
江西省,16780.9,2015
江西省,15667.8,2014
江西省,14300.2,2013
江西省,12807.7,2012
江西省,11584.5,2011
江西省,9383.2,2010
江西省,7630,2009
江西省,6934.2,2008
江西省,5777.6,2007
江西省,4696.8,2006
江西省,3941.2,2005
江西省,3398.1,2004
江西省,2812.7,2003
山东省,87435.1,2022
山东省,82875.2,2021
山东省,72798.2,2020
山东省,70540.5,2019
山东省,66648.9,2018
山东省,63012.1,2017
山东省,58762.5,2016
山东省,55288.8,2015
山东省,50774.8,2014
山东省,47344.3,2013
山东省,42957.3,2012
山东省,39064.9,2011
山东省,33922.5,2010
山东省,29540.8,2009
山东省,27106.2,2008
山东省,22718.1,2007
山东省,18967.8,2006
山东省,15947.5,2005
山东省,13308.1,2004
山东省,10903.2,2003
河南省,61345.1,2022
河南省,58071.4,2021
河南省,54259.4,2020
河南省,53717.8,2019
河南省,49935.9,2018
河南省,44824.9,2017
河南省,40249.3,2016
河南省,37084.1,2015
河南省,34574.8,2014
河南省,31632.5,2013
河南省,28961.9,2012
河南省,26318.7,2011
河南省,22655,2010
河南省,19181,2009
河南省,17735.9,2008
河南省,14824.5,2007
河南省,11977.9,2006
河南省,10243.5,2005
河南省,8411.2,2004
河南省,6942.4,2003
湖北省,53734.9,2022
湖北省,50091.2,2021
湖北省,43004.5,2020
湖北省,45429,2019
湖北省,42022,2018
湖北省,37235,2017
湖北省,33353,2016
湖北省,30344,2015
湖北省,28242.1,2014
湖北省,25378,2013
湖北省,22590.9,2012
湖北省,19942.5,2011
湖北省,16226.9,2010
湖北省,13192.1,2009
湖北省,11497.5,2008
湖北省,9451.4,2007
湖北省,7531.8,2006
湖北省,6469.7,2005
湖北省,5546.8,2004
湖北省,4757.5,2003
湖南省,48670.4,2022
湖南省,45713.5,2021
湖南省,41542.6,2020
湖南省,39894.1,2019
湖南省,36329.7,2018
湖南省,33828.1,2017
湖南省,30853.5,2016
湖南省,28538.6,2015
湖南省,25881.3,2014
湖南省,23545.2,2013
湖南省,21207.2,2012
湖南省,18915,2011
湖南省,15574.3,2010
湖南省,12772.8,2009
湖南省,11307.4,2008
湖南省,9285.5,2007
湖南省,7431.6,2006
湖南省,6369.9,2005
湖南省,5542.6,2004
湖南省,4660,2003
广东省,129118.6,2022
广东省,124719.5,2021
广东省,111151.6,2020
广东省,107986.9,2019
广东省,99945.2,2018
广东省,91648.7,2017
广东省,82163.2,2016
广东省,74732.4,2015
广东省,68173,2014
广东省,62503.4,2013
广东省,57007.7,2012
广东省,53072.8,2011
广东省,45944.6,2010
广东省,39464.7,2009
广东省,36704.2,2008
广东省,31742.6,2007
广东省,25961.2,2006
广东省,21963,2005
广东省,18658.3,2004
广东省,15979.8,2003
广西壮族自治区,26300.9,2022
广西壮族自治区,25209.1,2021
广西壮族自治区,22120.9,2020
广西壮族自治区,21237.1,2019
广西壮族自治区,19627.8,2018
广西壮族自治区,17790.7,2017
广西壮族自治区,16116.6,2016
广西壮族自治区,14797.8,2015
广西壮族自治区,13587.8,2014
广西壮族自治区,12448.4,2013
广西壮族自治区,11303.6,2012
广西壮族自治区,10299.9,2011
广西壮族自治区,8552.4,2010
广西壮族自治区,7112.9,2009
广西壮族自治区,6455.4,2008
广西壮族自治区,5474.8,2007
广西壮族自治区,4417.8,2006
广西壮族自治区,3742.1,2005
广西壮族自治区,3305.1,2004
广西壮族自治区,2798.2,2003
海南省,6818.2,2022
海南省,6504.1,2021
海南省,5566.2,2020
海南省,5330.8,2019
海南省,4910.7,2018
海南省,4497.5,2017
海南省,4090.2,2016
海南省,3734.2,2015
海南省,3449,2014
海南省,3115.9,2013
海南省,2789.4,2012
海南省,2463.8,2011
海南省,2020.5,2010
海南省,1620.3,2009
海南省,1474.7,2008
海南省,1234,2007
海南省,1027.5,2006
海南省,884.9,2005
海南省,802.7,2004
海南省,714,2003
重庆市,29129,2022
重庆市,28077.3,2021
重庆市,25041.4,2020
重庆市,23605.8,2019
重庆市,21588.8,2018
重庆市,20066.3,2017
重庆市,18023,2016
重庆市,16040.5,2015
重庆市,14623.8,2014
重庆市,13027.6,2013
重庆市,11595.4,2012
重庆市,10161.2,2011
重庆市,8065.3,2010
重庆市,6651.2,2009
重庆市,5899.5,2008
重庆市,4770.7,2007
重庆市,3900.3,2006
重庆市,3448.4,2005
重庆市,3059.5,2004
重庆市,2615.6,2003
四川省,56749.8,2022
四川省,54088,2021
四川省,48501.6,2020
四川省,46363.8,2019
四川省,42902.1,2018
四川省,37905.1,2017
四川省,33138.5,2016
四川省,30342,2015
四川省,28891.3,2014
四川省,26518,2013
四川省,23922.4,2012
四川省,21050.9,2011
四川省,17224.8,2010
四川省,14190.6,2009
四川省,12756.2,2008
四川省,10562.1,2007
四川省,8494.7,2006
四川省,7195.9,2005
四川省,6304,2004
四川省,5346.2,2003
贵州省,20164.6,2022
贵州省,19458.6,2021
贵州省,17860.4,2020
贵州省,16769.3,2019
贵州省,15353.2,2018
贵州省,13605.4,2017
贵州省,11792.4,2016
贵州省,10541,2015
贵州省,9173.1,2014
贵州省,7973.1,2013
贵州省,6742.2,2012
贵州省,5615.6,2011
贵州省,4519,2010
贵州省,3856.7,2009
贵州省,3504.5,2008
贵州省,2847.5,2007
贵州省,2264.1,2006
贵州省,1939.9,2005
贵州省,1649.4,2004
贵州省,1429,2003
云南省,28954.2,2022
云南省,27161.6,2021
云南省,24555.7,2020
云南省,23223.8,2019
云南省,20880.6,2018
云南省,18486,2017
云南省,16369,2016
云南省,14960,2015
云南省,14041.7,2014
云南省,12825.5,2013
云南省,11097.4,2012
云南省,9523.1,2011
云南省,7735.3,2010
云南省,6574.4,2009
云南省,6016.6,2008
云南省,5077.4,2007
云南省,4090.7,2006
云南省,3497.7,2005
云南省,3136.4,2004
云南省,2633.4,2003
西藏自治区,2132.6,2022
西藏自治区,2080.2,2021
西藏自治区,1902.7,2020
西藏自治区,1697.8,2019
西藏自治区,1548.4,2018
西藏自治区,1349,2017
西藏自治区,1173,2016
西藏自治区,1043,2015
西藏自治区,939.7,2014
西藏自治区,828.2,2013
西藏自治区,710.2,2012
西藏自治区,611.5,2011
西藏自治区,512.9,2010
西藏自治区,445.7,2009
西藏自治区,398.2,2008
西藏自治区,344.1,2007
西藏自治区,285.9,2006
西藏自治区,243.1,2005
西藏自治区,217.9,2004
西藏自治区,186,2003
陕西省,32772.7,2022
陕西省,30121.7,2021
陕西省,26014.1,2020
陕西省,25793.2,2019
陕西省,23941.9,2018
陕西省,21473.5,2017
陕西省,19045.8,2016
陕西省,17898.8,2015
陕西省,17402.5,2014
陕西省,15905.4,2013
陕西省,14142.4,2012
陕西省,12175.1,2011
陕西省,9845.2,2010
陕西省,7997.8,2009
陕西省,7177.8,2008
陕西省,5681.8,2007
陕西省,4595.6,2006
陕西省,3817.2,2005
陕西省,3141.6,2004
陕西省,2587.7,2003
甘肃省,11201.6,2022
甘肃省,10225.5,2021
甘肃省,8979.7,2020
甘肃省,8718.3,2019
甘肃省,8104.1,2018
甘肃省,7336.7,2017
甘肃省,6907.9,2016
甘肃省,6556.6,2015
甘肃省,6518.4,2014
甘肃省,6014.5,2013
甘肃省,5393.1,2012
甘肃省,4816.9,2011
甘肃省,3943.7,2010
甘肃省,3268.3,2009
甘肃省,3071.7,2008
甘肃省,2675.1,2007
甘肃省,2203,2006
甘肃省,1864.6,2005
甘肃省,1653.6,2004
甘肃省,1399.9,2003
青海省,3610.1,2022
青海省,3385.1,2021
青海省,3009.8,2020
青海省,2941.1,2019
青海省,2748,2018
青海省,2465.1,2017
青海省,2258.2,2016
青海省,2011,2015
青海省,1847.7,2014
青海省,1713.3,2013
青海省,1528.5,2012
青海省,1370.4,2011
青海省,1144.2,2010
青海省,939.7,2009
青海省,896.9,2008
青海省,720.1,2007
青海省,585.2,2006
青海省,499.4,2005
青海省,443.7,2004
青海省,385,2003
宁夏回族自治区,5069.6,2022
宁夏回族自治区,4588.2,2021
宁夏回族自治区,3956.3,2020
宁夏回族自治区,3748.5,2019
宁夏回族自治区,3510.2,2018
宁夏回族自治区,3200.3,2017
宁夏回族自治区,2781.4,2016
宁夏回族自治区,2579.4,2015
宁夏回族自治区,2473.9,2014
宁夏回族自治区,2327.7,2013
宁夏回族自治区,2131,2012
宁夏回族自治区,1931.8,2011
宁夏回族自治区,1571.7,2010
宁夏回族自治区,1266.7,2009
宁夏回族自治区,1139.2,2008
宁夏回族自治区,877.6,2007
宁夏回族自治区,683.3,2006
宁夏回族自治区,579.9,2005
宁夏回族自治区,519.9,2004
宁夏回族自治区,442.6,2003
新疆维吾尔自治区,17741.3,2022
新疆维吾尔自治区,16311.6,2021
新疆维吾尔自治区,13800.7,2020
新疆维吾尔自治区,13597.1,2019
新疆维吾尔自治区,12809.4,2018
新疆维吾尔自治区,11159.9,2017
新疆维吾尔自治区,9630.8,2016
新疆维吾尔自治区,9306.9,2015
新疆维吾尔自治区,9264.5,2014
新疆维吾尔自治区,8392.6,2013
新疆维吾尔自治区,7411.8,2012
新疆维吾尔自治区,6532,2011
新疆维吾尔自治区,5360.2,2010
新疆维吾尔自治区,4237,2009
新疆维吾尔自治区,4142.5,2008
新疆维吾尔自治区,3500,2007
新疆维吾尔自治区,2957.3,2006
新疆维吾尔自治区,2520.5,2005
新疆维吾尔自治区,2170.4,2004
新疆维吾尔自治区,1889.2,2003

总结

本文介绍了如何使用 Python 编程语言中的 bar_chart_race_cn 库创建动态条形图。以下是我们在本文中学到的关键要点:

  1. 数据可视化的重要性:数据可视化是理解和传达数据的强大工具,动态条形图可以生动地展示数据随时间的变化趋势,有助于更深入地理解信息。

  2. 准备工作:在创建动态条形图之前,我们需要准备数据。本文介绍了使用 pandas 库读取和处理数据,以及设置中文字体和样式以确保中文文本正确显示。

  3. 创建动态图表:使用 bar_chart_race_cn 库,我们可以轻松地创建动态条形图。我们了解了如何设置图表参数,包括条形数量、固定最大值、图表标签、标题等。

  4. 示例:本文还提供了一个示例,展示了如何创建动态条形图以可视化城市人口随时间的变化。这个示例可作为参考,帮助读者开始制作自己的动态图表。

无论你是数据分析师、数据科学家还是对数据可视化感兴趣的任何人,本文提供了一个简单而强大的工具,帮助你创建引人注目的动态数据可视化图表。通过合理利用这些技能,你可以更好地传达数据和见解,为你的数据分析工作增色不少。

结语

数据可视化是数据分析的关键部分,动态条形图为我们提供了一种生动而强大的方式来展示数据。在这篇文章中,我们学习了如何使用 bar_chart_race_cn 库创建动态条形图,以及如何准备数据和设置样式。希望本文能够帮助你更好地利用数据可视化来分析和传达信息。如果你有任何问题或需要进一步的帮助,请随时与我们联系。

接下来,你可以继续完善文章的其他部分,如添加更多示例、绘制更多图表,或者根据读者反馈进行修改和优化。希望这篇文章能对你的读者有所帮助!

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

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

相关文章

阿里云yum源和tuna源

阿里云开源镜像站地址:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区阿里巴巴开源镜像站,免费提供Linux镜像下载服务,拥有Ubuntu、CentOS、Deepin、MongoDB、Apache、Maven、Composer等多种开源软件镜像源,此外还提供域名解析D…

背包问题学习笔记-01背包

背景 背包问题是动态规划问题中的一个大类,学习背包问题对于掌握动态规划十分重要。背包问题也很容易成为程序员算法面试中的一个槛,但其实背包问题已经被研究,讲解的比较成熟了,在这些丰富的讲解资料的基础之上,大家…

图注意网络(GAT)的可视化实现详解

能够可视化的查看对于理解图神经网络(gnn)越来越重要,所以在这篇文章中,我将介绍传统GNN层的实现,然后展示ICLR论文“图注意力网络”中对传统GNN层的改进。 假设我们有一个表示为有向无环图(DAG)的文本文档图。文档0与文档1、2和3有一条边&am…

第72步 时间序列建模实战:单步滚动预测(以决策树回归为例)

基于WIN10的64位系统演示 一、写在前面 从这一期开始,我们开始基于python构建各种机器学习和深度学习的时间序列预测模型,本质上就是调用各种模型的回归分析的属性。所以很多模型其实之前都介绍过,比如说决策树、SVM等等。 同样&#xff0…

【踩坑篇】代码中使用 Long 作为 Map的Key存在的问题

本周的工作结束&#xff0c;详述一些在项目代码中实际遇到的一些坑。 代码中遇到这样一个场景&#xff1a; 有个业务接口&#xff0c;接口返回的值是一个JSON格式的字符串&#xff0c;通过JSON解析的方式&#xff0c;解析为格式为&#xff1a; Map<Long, Map<String, O…

数据结构——时间复杂度与空间复杂度

目录 一.什么是空间复杂度与时间复杂度 1.1算法效率 1.2时间复杂度的概念 1.3空间复杂度的概念 二.如何计算常见算法的时间复杂度 2.1大O的渐近表示法 使用规则 三.如何计算常见算法的空间复杂度 3.1 大O渐近表示法 3.2 面试题——消失的数字 3.3 面试题——旋转数组 一…

ChatGPT是留学生的论文神器还是学术不端的罪魁祸首?

当今时代&#xff0c;ChatGPT无疑是大数据和人工智能的完美结合&#xff0c;成为了搜索技术的革命性创新。几秒钟&#xff0c;一篇逻辑清晰、观点鲜明、有充分论据支持的文章即可生成。这种革命性的创新在学术界掀起了巨大的浪潮&#xff0c;甚至让全球的学校开始思考&#xff…

【GAN入门】生成 AI的概念

一、说明 GAN是生成对抗网络&#xff08;Generative Adversarial Network&#xff09;的缩写&#xff0c;是一种无监督学习算法&#xff0c;由Goodfellow等人于2014年提出。GAN由一个生成器网络和一个判别器网络组成&#xff0c;通过二者之间的对抗来训练生成器网络生成与真实样…

深入了解Python数据类型及应用

Python提供了一组丰富的内置数据类型&#xff0c;使您能够在程序中处理不同类型的数据。核心数值类型包括整数、浮点数和复数。整数表示整数&#xff0c;对于精确的计数和计算非常有用。 浮点数表示具有小数精度的实数&#xff0c;这对科学和统计计算非常重要。复数将数字扩展到…

C++系列赋值运算符重载

赋值运算符重载 类的默认函数拷贝构造函数和赋值运算符 重载赋值运算符相关注意事项 类的默认函数 一个类至少有4个默认函数&#xff1a; 默认构造函数拷贝构造函数析构函数赋值运算符重载函数 拷贝构造函数和赋值运算符 拷贝构造函数是在创建类的时候调用的&#xff0c;之…

利用PCA科学确定各个指标的权重系数

背景参考: 1、提取主成分 对样本进行PCA分析,查看不同变量贡献率,确定主要的指标。我们可以通过下列代码获取需要的所有数据: import numpy as np from sklearn.decomposition import PCA# 创建一个数据 np.random.seed(0) data = np.random.random((100,5)) y = np.ra…

深入理解CI/CD流程:改变你的开发生命周期

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

投后管理系统的主要功能及开发

投后管理系统是一种用于跟踪和管理投资组合中的投资的工具&#xff0c;通常由私募股权、风险投资公司、资产管理公司和投资者使用。其主要功能包括以下内容&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合…

全新跑分软件GeekRUN-7问世

实测非常好用CPU跑分神器点击下载 感兴趣的可以测测你的手机跑的多少。 我的峰值是7340&#xff0c;低值是4685&#xff0c;测试时后台不能有任何APP

丙烯酸共聚聚氯乙烯树脂

声明 本文是学习GB-T 42790-2023 丙烯酸共聚聚氯乙烯树脂. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了丙烯酸共聚聚氯乙烯树脂的外观、物化性能等技术要求&#xff0c;描述了相应的采样、试验方 法、检验规则、标志、包装、…

2023年中国场馆产业研究报告

第一章 行业综述 1.1 定义与分类 场馆&#xff0c;作为一个多元化和充满活力的行业&#xff0c;为人们提供了一个为不同目的而聚集的空间。无论是为了活动、表演、展览还是聚会&#xff0c;场馆都在为社区的社会、文化和经济建设做出了不可或缺的贡献。 场馆是一个为举办各类…

深入思考redis面经

1 redission分布式锁 1.1 为了保证数据一致性&#xff0c;引入了redission的锁&#xff0c;你是为了抗住高并发而去为了引入这个锁还是说为了保证数据一致性去引入的 答&#xff1a;主要是为了抗住高并发问题&#xff0c;解决redis的缓存击穿问题&#xff0c;但是也能解决一定…

【算法|链表】环形链表Ⅱ

环形链表Ⅱ 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统…

原创 VTK 基础入门 ( 一 ) 贴纹理

纹理 这个示例先读入一幅JPEG的二维纹理图;然后定义一个纹理类vtkTexture对象&#xff0c;接着把读入的NPG图像输入到vtkTexture 里&#xff0c; 作为它即将“贴”到平面上的一个纹理图;再定义一个vtkPlaneSource对象&#xff0c;类vtkPlaneSource 可以生成一个…

Pytorch学习:torch.max(input,dim,keepdim=False)

文章目录 torch.max()dimkeepdimdim0dim1 out&#xff1a;返回命名元组 (values, indices) torch.max() torch.max(input) → Tensor&#xff1a;返回 input 张量中所有元素的最大值。 注意输入的必须是张量形式&#xff0c;输出的也为张量形式 当输入为tuple类型时&#xf…