如何通过 python 及 wordcloud 生成词云,在操作中如果遇到 TrueType 字体不识别怎么办
一、环境安装#
pip3 install wordcloud
二、代码 demo#
import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取数据
def read_data(filename):
df = pd.read_excel(filename)
return df['Keyword'].tolist()
# 分析数据
def analyze_data(keywords):
df = pd.DataFrame(keywords, columns=['Keyword'])
keyword_counts = df['Keyword'].value_counts()
# 生成词云
wordcloud = WordCloud(width=800, height=400, font_path='/System/Library/Fonts/Supplemental/Arial.ttf').generate_from_frequencies(keyword_counts)
plt.figure(figsize=(20, 10))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
# 主程序
def main():
keywords = read_data('keywords.xlsx')
analyze_data(keywords)
if __name__ == '__main__':
main()
该代码通过读取 Excel 文件中的关键词,使用 WordCloud 库生成词云图表,最后使用 Matplotlib 库将图表展示出来。其中,read_data () 函数将 Excel 文件中的关键词读取出来,analyze_data () 函数对读取到的关键词进行分析,生成相应的词云图表,main () 函数是主程序入口,通过调用 read_data () 和 analyze_data () 函数实现从读取数据到生成词云图表的整个过程。
*Excel 文件格式:
三、遇到字体问题#
我是 mac,再生成词云的时候一直提示我:ValueError: Only supported for TrueType fonts
,仅支持 TrueType fonts,但是其实我已经是了,这时候只需要检查字体文件的路径是否正确即可。
pip install --upgrade pillow
这个错误可能是由于 Pillow 库(PIL)的版本问题。在某些版本的 Pillow 库中,**ImageDraw.textbbox
** 方法只支持 TrueType 字体,不支持 OpenType 字体。即使你提供的是一个 TrueType 字体文件,Pillow 也可能无法正确识别。