anaconda中ValueError: Only supported for TrueType fonts
时间: 2024-06-13 12:03:58 浏览: 174
这个错误通常是由于字体文件格式不正确导致的。在使用wordcloud库生成词云图时,需要指定字体文件路径,如果指定的字体文件不是TrueType格式,就会出现这个错误。解决方法是更换字体文件或者使用支持TrueType格式的字体文件。可以在网上搜索TrueType格式的字体文件并下载,然后将其路径添加到wordcloud库的参数中。另外,也可以尝试更新anaconda和wordcloud库的版本,以确保软件和库文件的兼容性。
相关问题
E:\anaconda\lib\site-packages\PIL\ImageDraw.py in textbbox(self, xy, text, font, anchor, spacing, align, direction, features, language, stroke_width, embedded_color) 649 self, 650 text, --> 651 font=None, 652 spacing=4, 653 direction=None, ValueError: Only supported for TrueType fonts
这个错误通常是由于使用了不支持的字体格式,导致无法渲染文本。在使用 PIL 库中的 ImageDraw 模块时,你需要指定一个 TrueType 字体文件路径,以便 ImageDraw 能够正确地渲染文本。你可以通过以下步骤解决这个问题:
1. 找到一个 TrueType 字体文件,比如 Microsoft Yahei.ttf。
2. 将字体文件放到你的项目目录下。
3. 在绘制文本时,指定字体文件路径,例如:
```
from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (100,100), color=(255,255,255))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('Microsoft Yahei.ttf', size=16)
draw.text((0, 0), "Hello World", font=font, fill=(0,0,0))
```
这里的 `truetype` 方法就是指定字体文件路径。
如果你已经安装了字体文件,也可以使用系统默认字体,不需要指定字体文件路径。你可以这样来指定默认字体:
```
from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (100,100), color=(255,255,255))
draw = ImageDraw.Draw(img)
font = ImageFont.load_default()
draw.text((0, 0), "Hello World", font=font, fill=(0,0,0))
```
这里的 `load_default` 方法就是使用系统默认字体。
(base) root@4235009d9f30:/home/coder# /root/anaconda3/bin/python /home/coder/project/词云生成汽车图.py 驾驶体验良好:19 操控出色:15 乘坐感受还可以:9 音响品质好:9 配置丰富:9 整体空间出色:8 静谧性强:7 内饰好看:7 动力十足:7 车机操作流畅:6 配置实用:6 动力输出平顺:5 底盘调校好:5 外观时尚:4 车机科技感强:4 内饰质感不错:3 配置鸡肋:8 有异响:4 人机工程较差:3 储物空间较少:2 续航表现较差:2 后备厢空间小:1 风噪大:1 车机功能简单:1 Traceback (most recent call last): File "/home/coder/project/词云生成汽车图.py", line 43, in <module> wordcloud.generate_from_frequencies(frequencies=words_dict) File "/root/anaconda3/lib/python3.8/site-packages/wordcloud/wordcloud.py", line 453, in generate_from_frequencies self.generate_from_frequencies(dict(frequencies[:2]), File "/root/anaconda3/lib/python3.8/site-packages/wordcloud/wordcloud.py", line 508, in generate_from_frequencies box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor="lt") File "/root/anaconda3/lib/python3.8/site-packages/PIL/ImageDraw.py", line 671, in textbbox raise ValueError("Only supported for TrueType fonts") ValueError: Only supported for TrueType fonts
这个错误意味着你使用的字体文件仍然不是 TrueType 字体。请确保你下载的字体文件确实是 TrueType 格式的,并且将其正确地指定给 `font_path` 参数。
你可以尝试使用其他 TrueType 字体文件来解决该问题。另外,你还可以检查一下字体文件是否已正确安装。可以在终端中运行 `fc-list` 命令来列出已安装的字体,并确保你要使用的字体在列表中。
如果问题仍然存在,请提供字体文件的详细信息,包括字体文件的名称、来源和格式。这样我可以更好地帮助你解决问题。