Python 3.x 使用PyWaffle模块和FontLib使用Matplotlib创建华夫格图表
我正在尝试使用PyWaffle()来绘制华夫格图表 我已经安装了模块,并且安装了PyWaffle使用的字体() 然后,我运行Git repo中提供的以下代码Python 3.x 使用PyWaffle模块和FontLib使用Matplotlib创建华夫格图表,python-3.x,matplotlib,waffle-chart,Python 3.x,Matplotlib,Waffle Chart,我正在尝试使用PyWaffle()来绘制华夫格图表 我已经安装了模块,并且安装了PyWaffle使用的字体() 然后,我运行Git repo中提供的以下代码 data = {'Democratic': 48, 'Republican': 46, 'Libertarian': 3} fig = plt.figure( FigureClass=Waffle, rows=5, values=data, colors=("#232066", "#983D3D", "
data = {'Democratic': 48, 'Republican': 46, 'Libertarian': 3}
fig = plt.figure(
FigureClass=Waffle,
rows=5,
values=data,
colors=("#232066", "#983D3D", "#DCB732"),
legend={'loc': 'upper left', 'bbox_to_anchor': (1, 1)},
icons='child', icon_size=18,
icon_legend=True
)
这将返回以下绘图:
相反,我得到了以下异常
FileNotFoundError:[Errno 2]没有这样的文件或目录:“font/FontAwesome.otf”
我用来安装FontAwesome的步骤是他们网站上列出的步骤:
我右键单击字体并选择:Install。PyWaffle似乎在相对于调用脚本(或python解释器/jupyter笔记本)的位置查找字体文件,而不是在已安装的系统字体中。错误被抛出,因为它找不到它 字体文件是作为PyWaffle包的一部分安装的,它看起来不合适。您可以通过在虚拟环境或系统的
站点包
目录中查找font
目录,并将其复制到与脚本相同的位置来解决此问题
或者,您可以编辑站点包的pywaffle
目录中的文件waffle.py
,以替换此行:
FONTAWESOME_FILE = 'font/FontAwesome.otf'
有了这些:
import os
import font
FONTAWESOME_FILE = os.path.join(font.__path__[0], 'FontAwesome.otf')
这有点混乱,升级包时会被覆盖,但它允许您编写的任何脚本使用图标,而无需每次复制字体文件
编辑
现在已经解决了这个问题,所以将包升级到最新版本就足够了