鱼C论坛

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

wordcloud

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

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

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

x
  1. backgroud_Image=plt.imread('p1.jpg')
  2. wordcloud = WordCloud(font_path="C:\Windows\Fonts\simfang.ttf",# 字体
  3.                       max_words=100,            # 选择前100词
  4.                       background_color='white',  # 背景颜色为白色
  5.                       mask=backgroud_Image)
  6. my_wordcloud = wordcloud.fit_words(frequencies)
复制代码

出现以下报错
  1. Traceback (most recent call last):
  2.   File "C:/Users/NZXY/Desktop/test.py", line 99, in <module>
  3.     my_wordcloud = wordcloud.fit_words(frequencies)
  4.   File "C:\python36\lib\site-packages\wordcloud\wordcloud.py", line 389, in fit_words
  5.     return self.generate_from_frequencies(frequencies)
  6.   File "C:\python36\lib\site-packages\wordcloud\wordcloud.py", line 454, in generate_from_frequencies
  7.     max_font_size=self.height)
  8.   File "C:\python36\lib\site-packages\wordcloud\wordcloud.py", line 508, in generate_from_frequencies
  9.     box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor="lt")
  10.   File "C:\python36\lib\site-packages\PIL\ImageDraw.py", line 651, in textbbox
  11.     raise ValueError("Only supported for TrueType fonts")
  12. ValueError: Only supported for TrueType fonts
复制代码
怎么修改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

  1. from wordcloud import WordCloud
  2. import matplotlib.pyplot as plt

  3. background_Image = plt.imread('p1.jpg')
  4. wordcloud = WordCloud(font_path="C:/Windows/Fonts/simsun.ttc",  # TrueType字体文件路径
  5.                       max_words=100,         
  6.                       background_color='white',
  7.                       mask=background_Image)
  8. 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 | 显示全部楼层
  1. import matplotlib.pyplot as plt
  2. from wordcloud import WordCloud
  3. import numpy as np
  4. from PIL import Image

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

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

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

  13. my_wordcloud = wordcloud.fit_words(frequencies)

  14. # Display the generated word cloud
  15. plt.imshow(my_wordcloud, interpolation='bilinear')
  16. plt.axis("off")
  17. 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-4-30 18:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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