【问题标题】:Creating Waffle Charts with Matplotlib using the PyWaffle module and FontAwesome使用 PyWaffle 模块和 FontAwesome 使用 Matplotlib 创建华夫饼图
【发布时间】:2018-07-01 15:07:04
【问题描述】:

我正在尝试使用 PyWaffle (https://github.com/ligyxy/PyWaffle) 绘制华夫饼图。

我已经安装了模块并且我已经安装了 PyWaffle 使用的 fontawesome 字体 (https://fontawesome.com/?from=io)。

然后我运行 Git 存储库中提供的以下代码。

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 的步骤是在他们的网站上列出的:

  1. 首先我下载了​​压缩文件夹
  2. 接下来,我解压了文件夹
  3. 然后我打开它

我右键单击字体并选择:安装。

【问题讨论】:

    标签: python-3.x matplotlib waffle-chart


    【解决方案1】:

    PyWaffle 似乎在相对于调用脚本(或 python 解释器/jupyter notebook)的位置查找字体文件,而不是在已安装的系统字体中。错误是因为找不到而抛出的。

    字体文件是作为 PyWaffle 包的一部分安装的,只是它看起来位置不正确。您可以通过在虚拟环境或系统的 site-packages 目录中找到 font 目录并将其复制到与脚本相同的位置来解决此问题。

    或者,您可以编辑文件waffle.py(位于您的site-packagespywaffle 目录中)以替换此行:

    FONTAWESOME_FILE = 'font/FontAwesome.otf'
    

    这些:

    import os
    import font
    FONTAWESOME_FILE = os.path.join(font.__path__[0], 'FontAwesome.otf')
    

    这有点麻烦,升级软件包时会被覆盖,但它允许你编写的任何脚本使用图标,而不必每次都复制字体文件。

    编辑

    这个问题现在已经修复了,所以将包升级到最新版本就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-11
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 2019-01-01
      相关资源
      最近更新 更多