Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案

这篇具有很好参考价值的文章主要介绍了Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案。

报错内容如下:
2023-10-26T09:35:41.190459839Z Traceback (most recent call last):
2023-10-26T09:35:41.190502589Z File “lib/task/compute.py”, line 621, in
2023-10-26T09:35:41.190514101Z compute_match_rule(rule_data)
2023-10-26T09:35:41.190521681Z File “lib/task/compute.py”, line 557, in compute_match_rule
2023-10-26T09:35:41.190528938Z word_cloud = gen_word_cloud(sentence)
2023-10-26T09:35:41.190536512Z File “lib/task/compute.py”, line 87, in gen_word_cloud
2023-10-26T09:35:41.190543617Z wc.generate(words)
2023-10-26T09:35:41.190550476Z File “/usr/local/lib/python3.6/site-packages/wordcloud/wordcloud.py”, line 639, in generate
2023-10-26T09:35:41.190557571Z return self.generate_from_text(text)
2023-10-26T09:35:41.190567180Z File “/usr/local/lib/python3.6/site-packages/wordcloud/wordcloud.py”, line 621, in generate_from_text
2023-10-26T09:35:41.190598308Z self.generate_from_frequencies(words)
2023-10-26T09:35:41.190605934Z File “/usr/local/lib/python3.6/site-packages/wordcloud/wordcloud.py”, line 454, in generate_from_frequencies
2023-10-26T09:35:41.190613129Z max_font_size=self.height)
2023-10-26T09:35:41.190620131Z File “/usr/local/lib/python3.6/site-packages/wordcloud/wordcloud.py”, line 508, in generate_from_frequencies
2023-10-26T09:35:41.190627163Z box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor=“lt”)
2023-10-26T09:35:41.190634139Z File “/usr/local/lib/python3.6/site-packages/PIL/ImageDraw.py”, line 651, in textbbox
2023-10-26T09:35:41.190641179Z raise ValueError(“Only supported for TrueType fonts”)
2023-10-26T09:35:41.190651002Z ValueError: Only supported for TrueType fonts

简介
在使用Python的Wordcloud库生成词云图时,有时会遇到报错信息:“Only supported for TrueType fonts”。这个报错通常是由于字体文件不兼容或缺失所致。本文将介绍这个问题的原因和解决方法,并提供相应的代码示例。

问题原因
Wordcloud库在生成词云图时需要加载字体文件来渲染文本。默认情况下,Wordcloud库使用的字体为“DroidSansMono.ttf”,它是一个TrueType字体文件。如果系统中没有安装或找不到这个字体文件,就会导致报错。

解决方法
为了解决这个问题,我们可以使用以下两种方法之一。

方法一:指定可用字体
我们可以在生成词云图时指定一个系统中已经安装的字体文件。

import matplotlib.pyplot as plt
from wordcloud import WordCloud

# 指定字体文件路径
font_path = "/path/to/your/font.ttf"

# 生成词云图
wordcloud = WordCloud(font_path=font_path).generate(text)

# 显示词云图
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

在上面的示例代码中,我们通过font_path参数指定了一个字体文件的路径。你需要将/path/to/your/font.ttf替换为实际字体文件的路径。这样,Wordcloud库将使用指定的字体文件来生成词云图,避免了报错。

方法二:使用其他字体文件
如果你没有特定的字体需求,你也可以使用其他已经安装的字体文件来生成词云图。

import matplotlib.pyplot as plt
from wordcloud import WordCloud

# 指定字体名称
font_name = "Arial"

# 生成词云图
wordcloud = WordCloud(font_path=None, font_name=font_name).generate(text)

# 显示词云图
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

在上面的示例代码中,我们通过font_name参数指定了一个系统中已经安装的字体名称,例如"Arial"。由于我们没有指定具体的字体文件路径,Wordcloud库会尝试使用指定的字体名称来生成词云图。这样,我们也可以避免“Only supported for TrueType fonts”的报错。

注意,如果上面方法还有问题,可以尝试检查系统是否安装字体库:

FROM python:3.6

WORKDIR /app
ADD . /app
ADD ./requirements.txt /app

RUN  sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
    && apt update \
    && apt install libboost-python-dev tzdata -y \
    && apt install libfreetype6 -y \
    && apt install gcc libffi-dev python3-dev libevent-dev libxml2-dev libxslt-dev -y\
    && rm -rf /var/lib/apt/lists/* \
    && pip install -i http://mirrors.aliyun.com/pypi/simple --upgrade pip --trusted-host mirrors.aliyun.com \
    && pip install -i http://mirrors.aliyun.com/pypi/simple setuptools==58.0.1 --trusted-host mirrors.aliyun.com \
    && pip install -i http://mirrors.aliyun.com/pypi/simple pytest-benchmark==3.4.1 --trusted-host mirrors.aliyun.com \
    && pip install -i http://mirrors.aliyun.com/pypi/simple pytest-runner==5.3.1 --trusted-host mirrors.aliyun.com \
    && pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r /app/requirements.txt --trusted-host pypi.tuna.tsinghua.edu.cn --default-timeout=1000

ENV PYTHONPATH "${PYTHONPATH}:/app"
ENV TZ Asia/Shanghai

检查对应PIL版本是否匹配wordcloud:

Pillow==10.0.1
wordcloud==1.9.2

总结
在使用Python的Wordcloud库生成词云图时,如果遇到“Only supported for TrueType fonts”的报错,我们可以通过指定可用的字体文件或使用其他已经安装的字体文件来解决这个问题。通过以上的方法,我们可以顺利生成并显示词云图,从而实现更好的数据可视化效果。文章来源地址https://www.toymoban.com/news/detail-722169.html

到了这里,关于Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 报错:OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because boots

    解决方法: 搜索 async 取消勾选即可

    2024年02月08日
    浏览(54)
  • python报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1

    python报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+ 问题分析 说明:requests包引入了urllib3,而新版本的urllib3 需要OpenSSL 1.1.1+以上版本,否则报错: ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘OpenSSL 1.0.2k-fips 26 Jan 2017’. See: https://github.c

    2024年02月09日
    浏览(50)
  • python报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+

    python3 安装了requests ( pip install requests ) 说明:requests包引入了urllib3,而新版本的urllib3 需要OpenSSL 1.1.1+以上版本,否则报错: ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘OpenSSL 1.0.2k-fips 26 Jan 2017’. See: https://github.com/urllib3/urllib3/issues/21

    2024年02月13日
    浏览(44)
  • python爬虫报错:This version of ChromeDriver only supports Chrome version 114

    使用selenium爬取网页数据,一运行程序就报错: selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 117.0.5938.149 with binary path C:Program FilesGoogleChromeApplicationchrome.exe 就很奇怪,之前都是没问题的

    2024年02月06日
    浏览(48)
  • Python执行selenium报错This version of ChromeDriver only supports Chrome version 114

    Python执行selenium打开浏览器时报错,如下图: This version of ChromeDriver only supports Chrome version 114:此版本的ChromeDriver仅支持Chrome版本114。 查阅资料后发现,selenium目前支持的chrome最高版本为114,但是我的浏览器由于自动更新已经到了116版本。 已经没有支持我浏览器的chromedriver.exe,

    2024年02月09日
    浏览(57)
  • Python执行selenium报错This version of ChromeDriver only supports Chrome version并配置环境变量

    1.This version of ChromeDriver only supports Chrome version 这个报错的意思是chrome驱动的版本不匹配,所以需要查看自己的chrome的版本,再根据版本下载对应的chromedriver.exe,具体操作步骤如下 第一步查看chrome的版本: 第二步下载对应的chromedriver.exe: http://chromedriver.storage.googleapis.com/ind

    2024年02月16日
    浏览(50)
  • Python报错ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is compil

    运行openai模块时,报错 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with LibreSSL 2.8.3. 可以在解释器中将urllib3指定版本号

    2024年02月11日
    浏览(53)
  • android studio 提示错误 “Operation is not supported for read-only collection“

    Android studio从长颈鹿升级到 新版本小刺猬 ,之后 新建项目build 一个小时之后运行,竟然提示如下错误, wtf,尝试过 新建项目,clean项目,重新build ,清除as 缓存等方法都还是在运行时出现错误提示, 猜测是新旧版本存在不兼容的地方,具体哪里也不好定位了, 最后使用重置大

    2024年01月24日
    浏览(49)
  • urllib3 v2.0 only supports OpenSSL 1.1.1+报错问题

    该错误提示表示您的 OpenSSL 版本过低,无法兼容 urllib3 v2.0。 解决此问题的方法是升级您的 OpenSSL 版本至 1.1.1 或以上。具体操作如下: 检查您的 OpenSSL 版本,使用以下命令: 如果您的 OpenSSL 版本低于 1.1.1,可以使用以下方式升级: Ubuntu: CentOS: macOS: 安装完毕后,再次运

    2024年02月10日
    浏览(49)
  • ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+报错解决

    ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the \\\'ssl\\\' module is compiled with \\\'OpenSSL 1.1.0h  27 Mar 2018\\\'. See: https://github.com/urllib3/urllib3/issues/2168 urllib库版本不兼容,升级一下即可 重新下载urllib库 pip install urllib3==1.25.10 -i https://pypi.tuna.tsinghua.edu.cn/simple

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包