【本文目录】
一、最简wordcloud实现法(仅4行代码)
二、wordcloud展示中文乱码问题
三、彻底解决wordcloud中文乱码
一、最简wordcloud实现法(仅4行代码)
代码示例
import wordcloud
# 实例化对象
word = wordcloud.WordCloud()
# 调用generate方法将文本传入生成wordcloud
word.generate("Where there is a will,there is a way.Well begun is half done.")
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
# 将图片保存至当前项目路径下
word.to_file("test1_only4LinesCode.png")
输出成果
如上所示,wordcloud明显很智能,会自动将空格、句号等标点符号,以及where、there、that、the、not、from、is、a、and、by介词等无关的词屏蔽。
二、wordcloud展示中文乱码问题
代码示例
import wordcloud
text = "我爱中国,我的祖国"
# 实例化对象
poetry = wordcloud.WordCloud()
# 调用generate方法将文本传入生成wordcloud
poetry.generate(text)
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
poetry.to_file("test2_Chinese_withWrong.jpg")
输出成果
又如
三、彻底解决wordcloud中文乱码
wordcloud默认字体不支持中文,中文会显示为方框乱码状。故要展示中文,需先设置好中文字体路径。Windows系统中默认为C:\Windows\Fonts,Linux系统中默认为: \usr\share\fonts,
在其中找支持中文的字体或者网上下载即可,字体要求为.OTF或.TTF格式。
以下示例中,字体为Windows系统中的微软雅黑
font = r'C:\Windows\Fonts\msyh.ttf'
若将其拷贝至当前项目路径下,即可定义为:
font = 'msyh.ttf'
代码示例
import wordcloud
poetry_text = """
《水调歌头·明月几时有》
宋代:苏轼
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。
明月几时有?把酒问青天。
不知天上宫阙,今夕是何年。
我欲乘风归去,又恐琼楼玉宇,高处不胜寒。
起舞弄清影,何似在人间?
转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。
"""
# wordcloud默认字体不支持中文,中文会显示为方框乱码状。故需先设置好中文字体
# 以下字体为Windows系统中C:\Windows\Fonts中的微软雅黑
font = r'C:\Windows\Fonts\msyh.ttf'
# 实例化对象
poetry = wordcloud.WordCloud(font_path=font)
# 调用generate方法将文本传入生成wordcloud
poetry.generate(poetry_text)
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
poetry.to_file("test2_ChinesePoetry.jpg")
输出成果
好啦~今天就写到这里。是不是发现最后这张中文显示是显示了,但是图片太小、太模糊、行间距和词间距是不是可以调整一下呢?嘿嘿,且听下回详说。
☺引用转载还请注明作者说明出处哟!☺