这只是一个十分简单的wordcloud的小尝试,只是在做的过程中遇到了一些问题,供大家参考。
import wordcloud import matplotlib.pyplot as plt import imageio def wordcloud_test(): # 需要转换成图片的文字文件 f = open('D:\\prince.txt').read() f = f.lower() # 文字图片的形状 m = imageio.imread('D:\\miku.jpeg') # 生成wordcloud对象 w = wordcloud.WordCloud(background_color="black", width=800, height=660, margin=2, mask=m).generate(f) plt.imshow(w) plt.axis("off") plt.show() w.to_file('D:\\test.png') if __name__ == '__main__': wordcloud_test()
代码实现的效果就是将文件(prince.txt)中的信息使用wordcloud显示出来,形状采用的另一张图(miku.jpeg)的轮廓,最后返回结果(test.png)。
整个代码都是比较好理解的,唯独在导入模块使用imread方法的时候耽误了很长的时间,我参考的教程中imread的导入方法是"from scipy.misc import imread",
可是我在导入的时候总是提示没有这个方法。在网上找解决方法,有如下:
- 安装Pillow模块(我已安装)
- 安装Visual(安装后没有效果)
最后发现可以通过imageio模块使用imread方法,问题得以解决。如果有遇到类似问题的同学可以参考下。
附上效果图