import numpy as np from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator from PIL import Image from matplotlib import pyplot as plt from matplotlib.pyplot import imread import random text_list = ['汤川', '东野', '短篇', '故事', '伽利略', '系列', '汤川学', '魔术', '神探', '扩写'] text_string = ','.join(text_list) # 生成词云 wc = WordCloud( width = 600, #默认宽度 height = 200, #默认高度 margin = 2, #边缘 ranks_only = None, prefer_horizontal = 0.9, mask = None, #背景图形,如果想根据图片绘制,则需要设置 color_func = None, max_words = 200, #显示最多的词汇量 stopwords = None, #停止词设置,修正词云图时需要设置 random_state = None, background_color = '#ffffff',#背景颜色设置,可以为具体颜色,比如:white或者16进制数值。 font_step = 1, mode = 'RGB', regexp = None, collocations = True, normalize_plurals = True, contour_width = 0, colormap = 'viridis',#matplotlib色图,可以更改名称进而更改整体风格 contour_color = 'Blues', repeat = False, scale = 2, min_font_size = 10, max_font_size = 200) wc.generate_from_text(text_string) # 显示图像 plt.imshow(wc, interpolation = 'bilinear') plt.axis('off') plt.tight_layout() # 存储图像 wc.to_file('book.png') plt.show() # 中文乱码 修改字体ttf # wordcloud-ciyun.py P30 # FONT_PATH = os.environ.get('FONT_PATH', os.path.join(FILE, 'PingFang.ttc'))
import os from os import path import numpy as np from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator from PIL import Image from matplotlib import pyplot as plt from matplotlib.pyplot import imread import random # 当前文件所在目录 dir = path.dirname(__file__) # 获取文本text text = open(path.join(dir, 'shopping.txt'),encoding='utf-8').read() # 读取背景图片 background_Image = np.array(Image.open(path.join(dir, 'sp_background.jpg'))) # 提取背景图片颜色 img_colors = ImageColorGenerator(background_Image) # 生成词云 wc = WordCloud( width = 600, #默认宽度 height = 200, #默认高度 margin = 2, #边缘 ranks_only = None, prefer_horizontal = 0.9, mask = background_Image, #背景图形,如果想根据图片绘制,则需要设置 color_func = None, max_words = 200, #显示最多的词汇量 stopwords = None, #停止词设置,修正词云图时需要设置 random_state = None, background_color = '#ffffff',#背景颜色设置,可以为具体颜色,比如:white或者16进制数值。 font_step = 1, mode = 'RGB', regexp = None, collocations = True, normalize_plurals = True, contour_width = 0, colormap = 'viridis',#matplotlib色图,可以更改名称进而更改整体风格 contour_color = 'Blues', repeat = False, scale = 2, min_font_size = 10, max_font_size = 200) ###引入文字text wc.generate_from_text(text) # 根据图片色设置背景色 wc.recolor(color_func = img_colors) # 显示图像 plt.imshow(wc, interpolation = 'bilinear') plt.axis('off') plt.tight_layout() # 存储图像 wc.to_file('love.png') plt.show()