1、安装最新的bar-chart-race包0.2版本

从GitHub上下载压缩包,将解压后的文件夹放置在项目的创建的–虚拟环境/lib/python3.7/site-packages目录下。

https://github.com/dexplo/bar_chart_race

2、在虚拟环境下打开文件夹,命令行运行如下命令完成安装。

cd 你的项目地址/虚拟环境/lib/python3.7/site-packages/bar_chart_race
python setup.py install# 提示成功安装
# Finished processing dependencies for bar-chart-race==0.2.0

3、安装ffmpeg

pip install ffmpeg

4、安装 ImageMagick
网站地址:https://imagemagick.org/script/download.php#windows

直接下载安装即可

5、测试代码

import bar_chart_race as bcr
#获取数据,两种方式
1、df = bcr.load_dataset('covid19_tutorial') 此种方式对文件的放置位置有要求
2、import pandas as pd
df = pd.read_csv('D:/covid19_tutorial.csv',index_col='date') covid19_tutorial文件的具体位置
bcr.bar_chart_race(df, 'covid19_horiz.gif')

6、bar-chart-race包的参数意义

bcr.bar_chart_race(df=df, filename='../docs/images/covid19_horiz.gif', #生成的条形图的放置位置orientation='h', #h条形图 v柱状图sort='desc', #降序,asc-升序n_bars=8, #设置最多能显示的条目数fixed_order=False, # 设置固定类目fixed_max=True, #固定数值轴,使其不发生动态变化 true-固定steps_per_period=20, #图像帧数。数值越小,越不流畅。越大,越流畅period_length=500, #设置帧率,单位时间默认为500ms 20帧的总时间是500msend_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', #设置柱状图颜色颜色,通过在「_colormaps.py」文件中添加颜色信息,即可自定义配置颜色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': (6, 3.5), 'dpi': 144},#figsize-设置画布大小,默认(6, 3.5),dpi-图像分辨率,默认144filter_column_colors=False#去除条形图重复颜色true去除 ) 

7、修改matplotlib配置使得动态条形图能够显示中文

在C:\Windows\Fonts中找一种中文字体,将其拷贝至matplotlib字体文件夹,例如:matplotlib/mpl-data/fonts/ttf,将STXIHEI.ttf拷贝到ttf文件夹中,通过如下代码可以找到matplotlib文件夹。

import matplotlib
matplotlib.matplotlib_fname()
#输出
'E:\\Python\\WPy64-3770\\python-3.7.7.amd64\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'

修改配置文件matplotlibrc 同样在matplotlib/mpl-data/fonts目录下面,修改下面三项配置:

font.family : sans-serif  删除最前面的#
font.sans-serif : STXIHEI, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif   删除最前面的#,同时将新的中文字体添加其中
axes.unicode_minus:False,删除最前面的#,解决负号'-'显示为方块的问题

最重要的一步!!改了配置之后并不会生效,需要重新加载字体,在Python中运行如下代码即可:

from matplotlib.font_manager import _rebuild_rebuild() #reload一下

成功显示中文字体啦!

博文参考:

https://blog.csdn.net/weixin_45092662/article/details/109013721

https://www.zhihu.com/question/25404709

公众号:大数据分析和人工智能-刷爆全网的动态条形图,原来5行Python代码就能实现!

Win10下Python实现动态条形图(附解决matplotlib画图中文乱码问题)相关推荐

  1. 最简单方法!!用python生成动态条形图(解决报错问题!)

    最简单方法!!用python生成动态条形图 文章目录 最简单方法!!用python生成动态条形图 1. 安装第三方包: bar_chart_race 2. 数据准备 3. 函数讲解 4. 详细举例(复 ...

  2. matplotlib中文乱码问题_MacOS解决Matplotlib的中文乱码问题

    在使用Matplotlob的过程中,我发现在绘图过程中输入的中文字均无法显示,网上查询大部分也都是Windows系统的解决方法,于是,经过我长时间的百度与尝试,终于解决了MacOS下Matplotli ...

  3. python汉字无法显示图片_完美解决matplotlib画图中文显示问题

    相信有很多人曾经被matplotlib画图的中文显示问题所困扰,包括我自己.每次生产环境发生改变,都会遭遇到这个问题,然后需要花大量的时间在它上边.最可气的是每次遇到的问题不一定一样,上一次使用的方法 ...

  4. Anaconda使用matplotlib画图中文乱码解决办法

    今天使用Anaconda的matplotlib画图出现了中文乱码,绘出的图片如下: 解决办法 添加中文字体到matplotlib的字体里,然后修改设置. 1.添加字体 可以从网上下载字体,也可以在电脑 ...

  5. Glyph 26426 missing from current font.解决matplotlib画图中文字体乱码问题

    1. 问题复现 环境:Ipython 3.8 import matplotlib.pyplot as plt import pandas as pddata = pd.read_csv('/Users ...

  6. Python Matplotlib画图中文乱码、负号无法显示问题解决

    plt.rcParams参数可以用来自定义图形的各种默认属性,包括窗体大小.每英寸的点数.线条宽度.颜色.样式.坐标轴.坐标和网络属性.文本.字体等. 在代码头部加入: plt.rcParams['f ...

  7. Win10下python不同版本同时安装并解决pip共存问题

    Win10下python不同版本同时安装并解决pip共存问题 参考文章: (1)Win10下python不同版本同时安装并解决pip共存问题 (2)https://www.cnblogs.com/du ...

  8. Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题

    Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题 参考文章: (1)Windows下Python 3.6 ...

  9. python版本切换_Ubuntu18.04下python版本完美切换的解决方法

    ubuntu18.04版本,python版本python2.7,python3.5,python3.6 因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3 ...

最新文章

  1. arduino下载库出错_【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用...
  2. c语言scarf函数原型,scanf 函数原型.doc
  3. 738. 单调递增的数字(贪心算法)
  4. 大油井隐藏的箱子_魔兽世界:历经版本变迁的5大隐藏boss!全部都经历过的才是大神...
  5. 利用WSUS3.0进行补丁分发
  6. JavaWeb--JavaEE
  7. 生日快乐程序员的浪漫代码_python告白代码,只属于程序员的浪漫
  8. oracle服务没有了 原因,一例oracle服务无法启动的原因及解决方法
  9. Pg Admin4 无法正常启动
  10. Win10麦克风显示这个设备正常但是没声音怎么解决
  11. Element-Plus中 “Loding” 组件的按需引用类型问题
  12. Systemd中环境变量设置
  13. 歪解单片机的时钟系统--关于内外时钟切换及时钟超频测试
  14. 《计算机网络》第三章课后答案第七版谢希仁
  15. 液晶显示屏的C语言编码,AMPIRE12864液晶C语言代码
  16. QR码编码原理二(编码)
  17. RPA 的优点与缺点
  18. Struts2的OGNL表达式语言
  19. url中传递中文参数时的转码与解码
  20. pwrkey直接接地 sim7020_SIM7020C NB-IoT HAT

热门文章

  1. 在html中怎么去除空白页,word文档里多一张空白页,如何删除?
  2. 2021-08-30-同事需求--将多个文件夹内的图片合成视频
  3. android条码系统直接打印出库单笔记
  4. web 页面防复制防拷贝
  5. SpringBoot中运行测试:java.lang.NullPointerException
  6. android 8 s7,不抛弃不放弃:三星正为 S7 系列打造 Android 8.0
  7. Excel如何提取括号前内容
  8. 富力•环贸港与阿里云达成战略合作 共同探索“产业+互联网”发展之道
  9. 用python脚本分类和改名照片和视频
  10. 第五人格维修服务器中要不要玩,常玩第五人格的人,不要直接打王者,第五后遗症帮你一路上青铜...