鱼C论坛

 找回密码
 立即注册
查看: 700|回复: 9

wordcloud

[复制链接]
发表于 2024-4-10 21:05:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
backgroud_Image=plt.imread('p1.jpg')
wordcloud = WordCloud(font_path="C:\Windows\Fonts\simfang.ttf",# 字体
                      max_words=100,            # 选择前100词
                      background_color='white',  # 背景颜色为白色
                      mask=backgroud_Image)
my_wordcloud = wordcloud.fit_words(frequencies)
出现以下报错
Traceback (most recent call last):
  File "C:/Users/NZXY/Desktop/test.py", line 99, in <module>
    my_wordcloud = wordcloud.fit_words(frequencies)
  File "C:\python36\lib\site-packages\wordcloud\wordcloud.py", line 389, in fit_words
    return self.generate_from_frequencies(frequencies)
  File "C:\python36\lib\site-packages\wordcloud\wordcloud.py", line 454, in generate_from_frequencies
    max_font_size=self.height)
  File "C:\python36\lib\site-packages\wordcloud\wordcloud.py", line 508, in generate_from_frequencies
    box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor="lt")
  File "C:\python36\lib\site-packages\PIL\ImageDraw.py", line 651, in textbbox
    raise ValueError("Only supported for TrueType fonts")
ValueError: Only supported for TrueType fonts
怎么修改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-10 21:06:04 | 显示全部楼层
这个错误是由于所使用的字体不是TrueType字体引起的。您可以尝试在代码中更换为TrueType字体文件,并确保该文件存在。

首先,您需要下载一个TrueType字体文件(.ttf),例如思源宋体(SimSun)字体。然后修改代码如下:
from wordcloud import WordCloud
import matplotlib.pyplot as plt

background_Image = plt.imread('p1.jpg')
wordcloud = WordCloud(font_path="C:/Windows/Fonts/simsun.ttc",  # TrueType字体文件路径
                      max_words=100,         
                      background_color='white',
                      mask=background_Image)
my_wordcloud = wordcloud.fit_words(frequencies)

请注意,`font_path`参数需要传入TrueType字体文件的完整路径,以`.ttc`或`.ttf`结尾。在Windows系统中,默认的中文字体存储在`C:/Windows/Fonts/`目录下。

如果您想使用其他字体,只需将字体文件路径替换成您所选择的TrueType字体文件即可。还可以调整其他参数,如`max_words`(选择显示的词的数量)和`background_color`(背景颜色)。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-10 21:07:28 | 显示全部楼层
FishC 发表于 2024-4-10 21:06
这个错误是由于所使用的字体不是TrueType字体引起的。您可以尝试在代码中更换为TrueType字体文件,并确保该 ...

字体为ttf仍然报错,怎么办
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-10 21:07:39 | 显示全部楼层
花开半夏—— 发表于 2024-04-10 21:07
字体为ttf仍然报错,怎么办


如果您仍然遇到TrueType字体的错误提示,可能是因为wordcloud库不支持ttf字体。您可以尝试使用其他字体文件格式,如OpenType字体(.otf)。首先,您需要下载一个OpenType字体文件(.otf),例如思源宋体(SimSun)字体。然后修改代码如下:from wordcloud import WordCloudimport matplotlib.pyplot as pltbackground_Image = plt.imread('p1.jpg')wordcloud = WordCloud(font_path="C:/Windows/Fonts/simsun.otf",  # OpenType字体文件路径                      max_words=100,                               background_color='white',                      mask=background_Image)my_wordcloud = wordcloud.fit_words(frequencies)请注意,`font_path`参数需要传入OpenType字体文件的完整路径,以`.otf`结尾。在Windows系统中,默认的中文字体存储在`C:/Windows/Fonts/`目录下。如果您使用的字体是其他格式,可以适当调整字体路径和文件格式。如果您仍然遇到问题,请确保字体文件存在,并且您正在使用最新版本的wordcloud库。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-10 21:09:36 | 显示全部楼层

回帖奖励 +10 鱼币

gpt3.5不行的,得靠你自己
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-10 21:10:35 | 显示全部楼层
sfqxx 发表于 2024-4-10 21:09
gpt3.5不行的,得靠你自己

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-10 21:13:02 | 显示全部楼层
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import numpy as np
from PIL import Image

# Assuming 'frequencies' is defined somewhere in your code
# and represents a dictionary of word frequencies.

# Load a background image
backgroud_Image = np.array(Image.open('p1.jpg'))

wordcloud = WordCloud(font_path="C:\\Windows\\Fonts\\arial.ttf",  # Using Arial as the font
                      max_words=100,            # Selecting the top 100 words
                      background_color='white',  # Setting the background color to white
                      mask=backgroud_Image)     # Using your background image

my_wordcloud = wordcloud.fit_words(frequencies)

# Display the generated word cloud
plt.imshow(my_wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-10 21:44:47 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-11 03:38:15 | 显示全部楼层
ValueError: Only supported for TrueType fonts

应该是指定的字体有问题,换一个字体试试?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-11 17:12:06 From FishC Mobile | 显示全部楼层
isdkz 发表于 2024-4-10 21:44
一眼gpt

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 08:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表