| 第9行: |
第9行: |
| | ====== 获取遮罩图:numpy ====== | | ====== 获取遮罩图:numpy ====== |
| | [https://amueller.github.io/word_cloud/auto_examples/colored.html demo] | | [https://amueller.github.io/word_cloud/auto_examples/colored.html demo] |
| | + | |
| | + | import numpy as np |
| | + | alice_mask = np.array(Image.open("xxx.png")) |
| | + | |
| | + | 或 |
| | + | |
| | + | from scipy.misc import imread |
| | + | alice_mask = imread('xxx.png') |
| | + | |
| | + | |
| | + | |
| | + | |
| | + | 如果报:'''_tkinter.TclError: no display name and no $DISPLAY environment variable''' |
| | + | |
| | + | 在“import matplotlib.pyplot as plt”之前,加入: |
| | + | |
| | + | <nowiki> |
| | + | import matplotlib as mpl |
| | + | mpl.use('Agg') |
| | + | </nowiki> |
| | + | |
| | + | |
| | + | |
| | + | 实例: |
| | + | <nowiki> |
| | + | #!/usr/bin/python |
| | + | # -*- coding: utf-8 -*- |
| | + | import wordcloud |
| | + | from wordcloud import WordCloud |
| | + | import jieba |
| | + | # from PIL import Image |
| | + | # import numpy as np |
| | + | |
| | + | import matplotlib as mpl |
| | + | mpl.use('Agg') |
| | + | |
| | + | import matplotlib.pyplot as plt |
| | + | from scipy.misc import imread |
| | + | |
| | + | with open('论语.txt', 'r') as f: |
| | + | text = " ".join(jieba.cut(f.read())) |
| | + | # alice_mask = np.array(Image.open("遮罩图.png")) |
| | + | alice_mask = imread('遮罩图.png') |
| | + | |
| | + | wordCloud = WordCloud(font_path='msyh.ttf',background_color='white', max_words=2000, max_font_size=80, random_state=40, mask=alice_mask) |
| | + | wordCloud.generate(text) |
| | + | plt.imshow(wordCloud, interpolation='bilinear') |
| | + | plt.axis("off") |
| | + | plt.show() |
| | + | |
| | + | # plt.savefig('path to output.png') |
| | + | wordCloud.to_file('path to output.png') |
| | + | </nowiki> |