前言

python version 3.8.x 练习代码地址:https://github.com/ikeukenhof/coding4fun/tree/yx/Chinese_word_cloud/word_cloud_practice


官方教程(含word相关参数):https://www.jianshu.com/p/3c349f0493e0 教程源码:https://github.com/amueller/word_cloud

点击查看【bilibili】
点击查看【bilibili】

博客及源代码:https://github.com/TommyZihao/zihaowordcloud https://python123.io/tutorials/word_cloud

注意

1、scale

下面为设置scale=20和scale=1(默认为1)的清晰度,以及图片大小(分辨率)
image.png

2、mode、coutour_width

只有mode=’RGB’时,设置contour_width 和 contour_color方才有效
若mode=’RGBA’时,设置contour_width不为0,则会抛出异常:ValueError: operands could not be broadcast together with shapes (310,309,4) (310,309,3)

  1. # -*- coding=utf-8 -*-
  2. # python version 3.8.x
  3. """
  4. font_path : string #字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf'
  5. width : int (default=400) #输出的画布宽度,默认为400像素
  6. height : int (default=200) #输出的画布高度,默认为200像素
  7. prefer_horizontal : float (default=0.90) #词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )
  8. mask : nd-array or None (default=None) #如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread('读取一张图片.png'),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。
  9. contour_width:float,设置词云边界宽度,默认为0,不画出词云边界线,当mask中填充部分的边界平滑时可以设置contour_width,否则不需要设置该参数,会产生锯齿。
  10. 【注意】若设置mode ='RGBA',且contour_width不为0, 则会抛出异常 ValueError: operands could not be broadcast together with shapes (310,309,4) (310,309,3)
  11. contour_color:'black',边界线颜色,默认为黑色,当contour_width不为0时,设置本参数改变边界线颜色。
  12. scale : float (default=1) #按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍
  13. 【可以通过调大该数值使得图片更清晰,比如:scale=20】
  14. min_font_size : int (default=4) #显示的最小的字体大小
  15. font_step : int (default=1) #字体步长,如果步长大于1,会加快运算但是可能导致结果出现较大的误差
  16. max_words : number (default=200) #要显示的词的最大个数
  17. stopwords : set of strings or None #设置需要屏蔽的词,如果为空,则使用内置的STOPWORDS
  18. background_color : color value (default=”black”) #背景颜色,如background_color='white',背景颜色为白色
  19. max_font_size : int or None (default=None) #显示的最大的字体大小
  20. mode : string (default=”RGB”) #当参数为“RGBA”并且background_color不为空时,背景为透明
  21. relative_scaling : float (default=.5) #词频和字体大小的关联性
  22. color_func : callable, default=None #生成新颜色的函数,如果为空,则使用 self.color_func
  23. regexp : string or None (optional) #使用正则表达式分隔输入的文本
  24. collocations : bool, default=True #是否包括两个词的搭配
  25. colormap : string or matplotlib colormap, default=”viridis” #给每个单词随机分配颜色,若指定color_func,则忽略该方法
  26. random_state : int or None #为每个单词返回一个PIL颜色
  27. fit_words(frequencies) #根据词频生成词云
  28. generate(text) #根据文本生成词云
  29. generate_from_frequencies(frequencies[, ...]) #根据词频生成词云
  30. generate_from_text(text) #根据文本生成词云
  31. process_text(text) #将长文本分词并去除屏蔽词(此处指英语,中文分词还是需要自己用别的库先行实现,使用上面的 fit_words(frequencies) )
  32. recolor([random_state, color_func, colormap]) #对现有输出重新着色。重新上色会比重新生成整个词云快很多
  33. to_array() #转化为 numpy array
  34. to_file(filename) #输出到文件
  35. """
  36. import numpy as np
  37. from PIL import Image
  38. from wordcloud import WordCloud, ImageColorGenerator
  39. import jieba
  40. MASK_PICTURE_PATH = '../pictures/owl.jpeg'
  41. ARTICLE_PATH = '../texts/故都的秋.txt'
  42. STOP_WORDS_PATH = '../stopwords/hit_stopwords.txt'
  43. FONT_PATH = '../SourceHanSerifK-Light.otf'
  44. # 词频统计
  45. def count_frequencies(word_list):
  46. freq = dict()
  47. for w in word_list:
  48. if w not in freq.keys():
  49. freq[w] = 1
  50. else:
  51. freq[w] += 1
  52. return freq
  53. def dict_sort(dict_to_sort, reverse=False):
  54. # 【字典排序】
  55. print(f'字典: {dict_to_sort}')
  56. # 字典排序(按值降序),【递推式构造字典】
  57. sort_freq1 = {k: v for k, v in sorted(dict_to_sort.items(), key=lambda item: item[1], reverse=reverse)}
  58. print(f'字典排序1: {sort_freq1}')
  59. sort_freq2 = dict(sorted(dict_to_sort.items(), key=lambda item: item[1], reverse=True))
  60. print(f'字典排序2: {sort_freq2}\n')
  61. freq_list = sorted(dict_to_sort.items(), key=lambda item: item[1], reverse=True)
  62. print(f'字典排序=>元组列表: {freq_list}')
  63. # 输出如下:
  64. # 字典: {'秋天': 7, '地方': 4, '总是': 2, '北国': 7, '特别': 4, '来得': 5, '悲凉': 1, '不远千里': 1, '杭州': 2, '赶上': 2, '青岛': 2, '更要': 1, '北平': 4, '理由': 1, '尝一尝': 1, '故都': 1, '秋味': 1, '江南': 1, '当然': 2, '草木': 1, '凋得慢': 1, '空气': 1, '颜色': 2, '显得': 1, '时常': 1, '多雨': 1, '少风': 1, '苏州': 1, '上海': 1, '厦门': 1, '香港': 1, '广州': 1, '市民': 1, '中间': 2, '混混沌沌': 1, '过去': 1, '只能': 2, '感到': 2, '一点点': 2, '清凉': 1, '意境': 1, '姿态': 1, '总看': 1, '尝不透': 1, '赏玩': 1, '不到': 1, '十足': 1, '不是': 3, '名花': 1, '美酒': 1, '一种': 5, '半开': 1, '半醉': 1, '状态': 1, '领略': 1, '过程': 1, '合适': 1, '不逢': 1, '之秋': 2, '将近': 1, '十余年': 1, '南方': 3, '每年': 1, '想起': 1, '陶然亭': 1, '芦花': 1, '钓鱼台': 1, '柳影': 1, '西山': 1, '玉泉': 1, '潭柘寺': 1, '钟声': 1, '出门': 1, '皇城': 1, '之中': 2, '破屋': 1, '早晨': 2, '起来': 5, '一碗': 1, '浓茶': 1, '院子': 1, '一坐': 1, '得到': 3, '碧绿': 1, '天色': 1, '天下': 2, '驯鸽': 1, '飞声': 1, '槐树': 2, '叶底': 1, '细数': 1, '一丝': 2, '下来': 1, '日光': 1, '破壁': 1, '腰中': 1, '静对': 1, '喇叭': 1, '牵牛花': 3, '蓝朵': 1, '自然而然': 1, '能够': 2, '感觉': 2, '十分': 1, '秋意': 1, '以为': 1, '蓝色': 1, '白色': 1, '紫黑色': 1, '次之': 1, '淡红色': 1, '最好': 2, '还要': 1, '叫长': 1, '几根': 1, '疏疏落落': 1, '尖细': 1, '且长': 1, '秋草': 1, '使作': 1, '陪衬': 1, '联想起': 1, '秋来': 2, '点缀': 1, '落蕊': 1, '满地': 1, '脚踏': 1, '上去': 1, '声音': 1, '没有': 3, '气味': 1, '感出': 1, '微细': 1, '柔软': 1, '触觉': 1, '扫街': 1, '树影': 1, '一阵': 2, '扫后': 1, '灰土': 2, '留下来': 1, '一条条': 1, '扫帚': 1, '丝纹': 1, '看起来': 1, '觉得': 4, '细腻': 1, '清闲': 1, '潜意识': 1, '有点儿': 1, '落寞': 1, '古人': 1, '所说': 1, '梧桐': 1, '一叶': 1, '知秋': 1, '遥想': 1, '大约': 1, '深沉': 2, '秋蝉': 2, '衰弱': 1, '残声': 1, '更是': 1, '特产': 1, '处处': 1, '全长': 1, '屋子': 1, '听得见': 1, '是非': 1, '郊外': 1, '山上': 1, '嘶叫': 1, '北方': 6, '蟋蟀': 1, '耗子': 1, '简直': 1, '像是': 2, '家家户户': 1, '家里': 1, '家虫': 1, '秋雨': 3, '似乎': 1, '下得': 2, '有味': 2, '像样': 1, '灰沉沉': 1, '天底下': 1, '忽而': 1, '凉风': 1, '便息': 1, '列索': 1, '落地': 1, '雨来': 1, '一层': 3, '雨过': 1, '渐渐': 1, '地卷': 1, '西去': 1, '太阳': 1, '露出': 1, '脸来': 1, '青布': 1, '单衣': 1, '夹袄': 1, '都市': 1, '闲人': 1, '烟管': 1, '斜桥': 1, '影里': 1, '桥头': 1, '树底下': 1, '一立': 1, '遇见': 1, '熟人': 1, '便会用': 1, '缓慢': 1, '悠闲': 1, '声调': 1, '微叹': 1, '互答': 1, '天可真凉': 1, '可不是': 1, '人念阵': 1, '总老': 1, '层字': 1, '平平': 1, '仄仄': 1, '念错': 1, '歧韵': 1, '正好': 1, '果树': 1, '奇景': 1, '第一': 1, '枣子': 4, '屋角': 1, '墙头': 1, '茅房': 1, '边上': 1, '灶房': 1, '门口': 1, '一株株': 1, '长大': 1, '橄榄': 1, '鸽蛋': 1, '颗儿': 1, '椭圆形': 1, '细叶': 1, '显出': 1, '淡绿': 1, '微黄': 1, '正是': 1, '全盛时期': 1, '枣树': 1, '叶落': 1, '红完': 1, '西北风': 1, '就要': 1, '便是': 1, '沙尘': 1, '世界': 1, '柿子': 1, '葡萄': 1, '成熟': 1, '八九分': 1, '七八': 1, '之交': 1, '清秋': 1, '一年': 1, 'Golden': 1, 'Days': 1, '批评家': 1, '中国': 5, '文人学士': 1, '尤其': 2, '诗人': 5, '浓厚': 1, '颓废': 1, '色彩': 2, '诗文': 3, '赞颂': 1, '文字': 2, '外国': 2, '何尝': 3, '不想': 1, '开出': 1, '帐来': 1, '一篇': 1, '诗歌散文': 1, '一翻': 1, '英德': 1, '法意': 1, '集子': 1, '各国': 1, 'Anthology': 1, '看到': 1, '歌颂': 1, '悲啼': 1, '著名': 1, '长篇': 1, '田园诗': 1, '四季': 1, '诗里': 1, '总以': 1, '部分': 1, '写得': 1, '最出色': 1, '足见': 1, '动物': 1, '情趣': 1, '人类': 1, '引起': 1, '幽远': 1, '严厉': 1, '萧索': 1, '感触': 1, '不单是': 1, '关闭': 1, '牢狱': 1, '囚犯': 1, '一定': 1, '不能自已': 1, '深情': 1, '秋之于': 1, '国别': 1, '有人': 1, '阶级': 1, '区别': 1, '秋士': 1, '成语': 1, '读本': 1, '有着': 1, '普遍': 1, '欧阳': 1, '秋声': 1, '苏东坡': 1, '赤壁赋': 1, '文人': 1, '关系': 1, '这秋': 1, '深味': 2, '非要': 1, '感受': 1, '到底': 1, '南国': 1, '特异': 1, '廿四': 1, '明月': 1, '钱塘江': 1, '秋潮': 1, '普陀山': 1, '凉雾': 1, '荔枝': 1, '残荷': 1, '回味': 1, '不永': 1, '比起': 1, '正像': 1, '黄酒': 1, '白干': 1, '稀饭': 1, '馍馍': 1, '鲈鱼': 1, '大蟹': 1, '黄犬': 1, '骆驼': 1, '若留': 1, '我愿': 1, '寿命': 1, '三分之二': 1, '折去': 1, '换得': 1, '三分之一': 1, '零头': 1, '一九三四年': 1, '八月': 1}
  65. # 字典排序1: {'秋天': 7, '北国': 7, '北方': 6, '来得': 5, '一种': 5, '起来': 5, '中国': 5, '诗人': 5, '地方': 4, '特别': 4, '北平': 4, '觉得': 4, '枣子': 4, '不是': 3, '南方': 3, '得到': 3, '牵牛花': 3, '没有': 3, '秋雨': 3, '一层': 3, '诗文': 3, '何尝': 3, '总是': 2, '杭州': 2, '赶上': 2, '青岛': 2, '当然': 2, '颜色': 2, '中间': 2, '只能': 2, '感到': 2, '一点点': 2, '之秋': 2, '之中': 2, '早晨': 2, '天下': 2, '槐树': 2, '一丝': 2, '能够': 2, '感觉': 2, '最好': 2, '秋来': 2, '一阵': 2, '灰土': 2, '深沉': 2, '秋蝉': 2, '像是': 2, '下得': 2, '有味': 2, '尤其': 2, '色彩': 2, '文字': 2, '外国': 2, '深味': 2, '悲凉': 1, '不远千里': 1, '更要': 1, '理由': 1, '尝一尝': 1, '故都': 1, '秋味': 1, '江南': 1, '草木': 1, '凋得慢': 1, '空气': 1, '显得': 1, '时常': 1, '多雨': 1, '少风': 1, '苏州': 1, '上海': 1, '厦门': 1, '香港': 1, '广州': 1, '市民': 1, '混混沌沌': 1, '过去': 1, '清凉': 1, '意境': 1, '姿态': 1, '总看': 1, '尝不透': 1, '赏玩': 1, '不到': 1, '十足': 1, '名花': 1, '美酒': 1, '半开': 1, '半醉': 1, '状态': 1, '领略': 1, '过程': 1, '合适': 1, '不逢': 1, '将近': 1, '十余年': 1, '每年': 1, '想起': 1, '陶然亭': 1, '芦花': 1, '钓鱼台': 1, '柳影': 1, '西山': 1, '玉泉': 1, '潭柘寺': 1, '钟声': 1, '出门': 1, '皇城': 1, '破屋': 1, '一碗': 1, '浓茶': 1, '院子': 1, '一坐': 1, '碧绿': 1, '天色': 1, '驯鸽': 1, '飞声': 1, '叶底': 1, '细数': 1, '下来': 1, '日光': 1, '破壁': 1, '腰中': 1, '静对': 1, '喇叭': 1, '蓝朵': 1, '自然而然': 1, '十分': 1, '秋意': 1, '以为': 1, '蓝色': 1, '白色': 1, '紫黑色': 1, '次之': 1, '淡红色': 1, '还要': 1, '叫长': 1, '几根': 1, '疏疏落落': 1, '尖细': 1, '且长': 1, '秋草': 1, '使作': 1, '陪衬': 1, '联想起': 1, '点缀': 1, '落蕊': 1, '满地': 1, '脚踏': 1, '上去': 1, '声音': 1, '气味': 1, '感出': 1, '微细': 1, '柔软': 1, '触觉': 1, '扫街': 1, '树影': 1, '扫后': 1, '留下来': 1, '一条条': 1, '扫帚': 1, '丝纹': 1, '看起来': 1, '细腻': 1, '清闲': 1, '潜意识': 1, '有点儿': 1, '落寞': 1, '古人': 1, '所说': 1, '梧桐': 1, '一叶': 1, '知秋': 1, '遥想': 1, '大约': 1, '衰弱': 1, '残声': 1, '更是': 1, '特产': 1, '处处': 1, '全长': 1, '屋子': 1, '听得见': 1, '是非': 1, '郊外': 1, '山上': 1, '嘶叫': 1, '蟋蟀': 1, '耗子': 1, '简直': 1, '家家户户': 1, '家里': 1, '家虫': 1, '似乎': 1, '像样': 1, '灰沉沉': 1, '天底下': 1, '忽而': 1, '凉风': 1, '便息': 1, '列索': 1, '落地': 1, '雨来': 1, '雨过': 1, '渐渐': 1, '地卷': 1, '西去': 1, '太阳': 1, '露出': 1, '脸来': 1, '青布': 1, '单衣': 1, '夹袄': 1, '都市': 1, '闲人': 1, '烟管': 1, '斜桥': 1, '影里': 1, '桥头': 1, '树底下': 1, '一立': 1, '遇见': 1, '熟人': 1, '便会用': 1, '缓慢': 1, '悠闲': 1, '声调': 1, '微叹': 1, '互答': 1, '天可真凉': 1, '可不是': 1, '人念阵': 1, '总老': 1, '层字': 1, '平平': 1, '仄仄': 1, '念错': 1, '歧韵': 1, '正好': 1, '果树': 1, '奇景': 1, '第一': 1, '屋角': 1, '墙头': 1, '茅房': 1, '边上': 1, '灶房': 1, '门口': 1, '一株株': 1, '长大': 1, '橄榄': 1, '鸽蛋': 1, '颗儿': 1, '椭圆形': 1, '细叶': 1, '显出': 1, '淡绿': 1, '微黄': 1, '正是': 1, '全盛时期': 1, '枣树': 1, '叶落': 1, '红完': 1, '西北风': 1, '就要': 1, '便是': 1, '沙尘': 1, '世界': 1, '柿子': 1, '葡萄': 1, '成熟': 1, '八九分': 1, '七八': 1, '之交': 1, '清秋': 1, '一年': 1, 'Golden': 1, 'Days': 1, '批评家': 1, '文人学士': 1, '浓厚': 1, '颓废': 1, '赞颂': 1, '不想': 1, '开出': 1, '帐来': 1, '一篇': 1, '诗歌散文': 1, '一翻': 1, '英德': 1, '法意': 1, '集子': 1, '各国': 1, 'Anthology': 1, '看到': 1, '歌颂': 1, '悲啼': 1, '著名': 1, '长篇': 1, '田园诗': 1, '四季': 1, '诗里': 1, '总以': 1, '部分': 1, '写得': 1, '最出色': 1, '足见': 1, '动物': 1, '情趣': 1, '人类': 1, '引起': 1, '幽远': 1, '严厉': 1, '萧索': 1, '感触': 1, '不单是': 1, '关闭': 1, '牢狱': 1, '囚犯': 1, '一定': 1, '不能自已': 1, '深情': 1, '秋之于': 1, '国别': 1, '有人': 1, '阶级': 1, '区别': 1, '秋士': 1, '成语': 1, '读本': 1, '有着': 1, '普遍': 1, '欧阳': 1, '秋声': 1, '苏东坡': 1, '赤壁赋': 1, '文人': 1, '关系': 1, '这秋': 1, '非要': 1, '感受': 1, '到底': 1, '南国': 1, '特异': 1, '廿四': 1, '明月': 1, '钱塘江': 1, '秋潮': 1, '普陀山': 1, '凉雾': 1, '荔枝': 1, '残荷': 1, '回味': 1, '不永': 1, '比起': 1, '正像': 1, '黄酒': 1, '白干': 1, '稀饭': 1, '馍馍': 1, '鲈鱼': 1, '大蟹': 1, '黄犬': 1, '骆驼': 1, '若留': 1, '我愿': 1, '寿命': 1, '三分之二': 1, '折去': 1, '换得': 1, '三分之一': 1, '零头': 1, '一九三四年': 1, '八月': 1}
  66. # 字典排序2: {'秋天': 7, '北国': 7, '北方': 6, '来得': 5, '一种': 5, '起来': 5, '中国': 5, '诗人': 5, '地方': 4, '特别': 4, '北平': 4, '觉得': 4, '枣子': 4, '不是': 3, '南方': 3, '得到': 3, '牵牛花': 3, '没有': 3, '秋雨': 3, '一层': 3, '诗文': 3, '何尝': 3, '总是': 2, '杭州': 2, '赶上': 2, '青岛': 2, '当然': 2, '颜色': 2, '中间': 2, '只能': 2, '感到': 2, '一点点': 2, '之秋': 2, '之中': 2, '早晨': 2, '天下': 2, '槐树': 2, '一丝': 2, '能够': 2, '感觉': 2, '最好': 2, '秋来': 2, '一阵': 2, '灰土': 2, '深沉': 2, '秋蝉': 2, '像是': 2, '下得': 2, '有味': 2, '尤其': 2, '色彩': 2, '文字': 2, '外国': 2, '深味': 2, '悲凉': 1, '不远千里': 1, '更要': 1, '理由': 1, '尝一尝': 1, '故都': 1, '秋味': 1, '江南': 1, '草木': 1, '凋得慢': 1, '空气': 1, '显得': 1, '时常': 1, '多雨': 1, '少风': 1, '苏州': 1, '上海': 1, '厦门': 1, '香港': 1, '广州': 1, '市民': 1, '混混沌沌': 1, '过去': 1, '清凉': 1, '意境': 1, '姿态': 1, '总看': 1, '尝不透': 1, '赏玩': 1, '不到': 1, '十足': 1, '名花': 1, '美酒': 1, '半开': 1, '半醉': 1, '状态': 1, '领略': 1, '过程': 1, '合适': 1, '不逢': 1, '将近': 1, '十余年': 1, '每年': 1, '想起': 1, '陶然亭': 1, '芦花': 1, '钓鱼台': 1, '柳影': 1, '西山': 1, '玉泉': 1, '潭柘寺': 1, '钟声': 1, '出门': 1, '皇城': 1, '破屋': 1, '一碗': 1, '浓茶': 1, '院子': 1, '一坐': 1, '碧绿': 1, '天色': 1, '驯鸽': 1, '飞声': 1, '叶底': 1, '细数': 1, '下来': 1, '日光': 1, '破壁': 1, '腰中': 1, '静对': 1, '喇叭': 1, '蓝朵': 1, '自然而然': 1, '十分': 1, '秋意': 1, '以为': 1, '蓝色': 1, '白色': 1, '紫黑色': 1, '次之': 1, '淡红色': 1, '还要': 1, '叫长': 1, '几根': 1, '疏疏落落': 1, '尖细': 1, '且长': 1, '秋草': 1, '使作': 1, '陪衬': 1, '联想起': 1, '点缀': 1, '落蕊': 1, '满地': 1, '脚踏': 1, '上去': 1, '声音': 1, '气味': 1, '感出': 1, '微细': 1, '柔软': 1, '触觉': 1, '扫街': 1, '树影': 1, '扫后': 1, '留下来': 1, '一条条': 1, '扫帚': 1, '丝纹': 1, '看起来': 1, '细腻': 1, '清闲': 1, '潜意识': 1, '有点儿': 1, '落寞': 1, '古人': 1, '所说': 1, '梧桐': 1, '一叶': 1, '知秋': 1, '遥想': 1, '大约': 1, '衰弱': 1, '残声': 1, '更是': 1, '特产': 1, '处处': 1, '全长': 1, '屋子': 1, '听得见': 1, '是非': 1, '郊外': 1, '山上': 1, '嘶叫': 1, '蟋蟀': 1, '耗子': 1, '简直': 1, '家家户户': 1, '家里': 1, '家虫': 1, '似乎': 1, '像样': 1, '灰沉沉': 1, '天底下': 1, '忽而': 1, '凉风': 1, '便息': 1, '列索': 1, '落地': 1, '雨来': 1, '雨过': 1, '渐渐': 1, '地卷': 1, '西去': 1, '太阳': 1, '露出': 1, '脸来': 1, '青布': 1, '单衣': 1, '夹袄': 1, '都市': 1, '闲人': 1, '烟管': 1, '斜桥': 1, '影里': 1, '桥头': 1, '树底下': 1, '一立': 1, '遇见': 1, '熟人': 1, '便会用': 1, '缓慢': 1, '悠闲': 1, '声调': 1, '微叹': 1, '互答': 1, '天可真凉': 1, '可不是': 1, '人念阵': 1, '总老': 1, '层字': 1, '平平': 1, '仄仄': 1, '念错': 1, '歧韵': 1, '正好': 1, '果树': 1, '奇景': 1, '第一': 1, '屋角': 1, '墙头': 1, '茅房': 1, '边上': 1, '灶房': 1, '门口': 1, '一株株': 1, '长大': 1, '橄榄': 1, '鸽蛋': 1, '颗儿': 1, '椭圆形': 1, '细叶': 1, '显出': 1, '淡绿': 1, '微黄': 1, '正是': 1, '全盛时期': 1, '枣树': 1, '叶落': 1, '红完': 1, '西北风': 1, '就要': 1, '便是': 1, '沙尘': 1, '世界': 1, '柿子': 1, '葡萄': 1, '成熟': 1, '八九分': 1, '七八': 1, '之交': 1, '清秋': 1, '一年': 1, 'Golden': 1, 'Days': 1, '批评家': 1, '文人学士': 1, '浓厚': 1, '颓废': 1, '赞颂': 1, '不想': 1, '开出': 1, '帐来': 1, '一篇': 1, '诗歌散文': 1, '一翻': 1, '英德': 1, '法意': 1, '集子': 1, '各国': 1, 'Anthology': 1, '看到': 1, '歌颂': 1, '悲啼': 1, '著名': 1, '长篇': 1, '田园诗': 1, '四季': 1, '诗里': 1, '总以': 1, '部分': 1, '写得': 1, '最出色': 1, '足见': 1, '动物': 1, '情趣': 1, '人类': 1, '引起': 1, '幽远': 1, '严厉': 1, '萧索': 1, '感触': 1, '不单是': 1, '关闭': 1, '牢狱': 1, '囚犯': 1, '一定': 1, '不能自已': 1, '深情': 1, '秋之于': 1, '国别': 1, '有人': 1, '阶级': 1, '区别': 1, '秋士': 1, '成语': 1, '读本': 1, '有着': 1, '普遍': 1, '欧阳': 1, '秋声': 1, '苏东坡': 1, '赤壁赋': 1, '文人': 1, '关系': 1, '这秋': 1, '非要': 1, '感受': 1, '到底': 1, '南国': 1, '特异': 1, '廿四': 1, '明月': 1, '钱塘江': 1, '秋潮': 1, '普陀山': 1, '凉雾': 1, '荔枝': 1, '残荷': 1, '回味': 1, '不永': 1, '比起': 1, '正像': 1, '黄酒': 1, '白干': 1, '稀饭': 1, '馍馍': 1, '鲈鱼': 1, '大蟹': 1, '黄犬': 1, '骆驼': 1, '若留': 1, '我愿': 1, '寿命': 1, '三分之二': 1, '折去': 1, '换得': 1, '三分之一': 1, '零头': 1, '一九三四年': 1, '八月': 1}
  67. #
  68. # 字典排序=>元组列表: [('秋天', 7), ('北国', 7), ('北方', 6), ('来得', 5), ('一种', 5), ('起来', 5), ('中国', 5), ('诗人', 5), ('地方', 4), ('特别', 4), ('北平', 4), ('觉得', 4), ('枣子', 4), ('不是', 3), ('南方', 3), ('得到', 3), ('牵牛花', 3), ('没有', 3), ('秋雨', 3), ('一层', 3), ('诗文', 3), ('何尝', 3), ('总是', 2), ('杭州', 2), ('赶上', 2), ('青岛', 2), ('当然', 2), ('颜色', 2), ('中间', 2), ('只能', 2), ('感到', 2), ('一点点', 2), ('之秋', 2), ('之中', 2), ('早晨', 2), ('天下', 2), ('槐树', 2), ('一丝', 2), ('能够', 2), ('感觉', 2), ('最好', 2), ('秋来', 2), ('一阵', 2), ('灰土', 2), ('深沉', 2), ('秋蝉', 2), ('像是', 2), ('下得', 2), ('有味', 2), ('尤其', 2), ('色彩', 2), ('文字', 2), ('外国', 2), ('深味', 2), ('悲凉', 1), ('不远千里', 1), ('更要', 1), ('理由', 1), ('尝一尝', 1), ('故都', 1), ('秋味', 1), ('江南', 1), ('草木', 1), ('凋得慢', 1), ('空气', 1), ('显得', 1), ('时常', 1), ('多雨', 1), ('少风', 1), ('苏州', 1), ('上海', 1), ('厦门', 1), ('香港', 1), ('广州', 1), ('市民', 1), ('混混沌沌', 1), ('过去', 1), ('清凉', 1), ('意境', 1), ('姿态', 1), ('总看', 1), ('尝不透', 1), ('赏玩', 1), ('不到', 1), ('十足', 1), ('名花', 1), ('美酒', 1), ('半开', 1), ('半醉', 1), ('状态', 1), ('领略', 1), ('过程', 1), ('合适', 1), ('不逢', 1), ('将近', 1), ('十余年', 1), ('每年', 1), ('想起', 1), ('陶然亭', 1), ('芦花', 1), ('钓鱼台', 1), ('柳影', 1), ('西山', 1), ('玉泉', 1), ('潭柘寺', 1), ('钟声', 1), ('出门', 1), ('皇城', 1), ('破屋', 1), ('一碗', 1), ('浓茶', 1), ('院子', 1), ('一坐', 1), ('碧绿', 1), ('天色', 1), ('驯鸽', 1), ('飞声', 1), ('叶底', 1), ('细数', 1), ('下来', 1), ('日光', 1), ('破壁', 1), ('腰中', 1), ('静对', 1), ('喇叭', 1), ('蓝朵', 1), ('自然而然', 1), ('十分', 1), ('秋意', 1), ('以为', 1), ('蓝色', 1), ('白色', 1), ('紫黑色', 1), ('次之', 1), ('淡红色', 1), ('还要', 1), ('叫长', 1), ('几根', 1), ('疏疏落落', 1), ('尖细', 1), ('且长', 1), ('秋草', 1), ('使作', 1), ('陪衬', 1), ('联想起', 1), ('点缀', 1), ('落蕊', 1), ('满地', 1), ('脚踏', 1), ('上去', 1), ('声音', 1), ('气味', 1), ('感出', 1), ('微细', 1), ('柔软', 1), ('触觉', 1), ('扫街', 1), ('树影', 1), ('扫后', 1), ('留下来', 1), ('一条条', 1), ('扫帚', 1), ('丝纹', 1), ('看起来', 1), ('细腻', 1), ('清闲', 1), ('潜意识', 1), ('有点儿', 1), ('落寞', 1), ('古人', 1), ('所说', 1), ('梧桐', 1), ('一叶', 1), ('知秋', 1), ('遥想', 1), ('大约', 1), ('衰弱', 1), ('残声', 1), ('更是', 1), ('特产', 1), ('处处', 1), ('全长', 1), ('屋子', 1), ('听得见', 1), ('是非', 1), ('郊外', 1), ('山上', 1), ('嘶叫', 1), ('蟋蟀', 1), ('耗子', 1), ('简直', 1), ('家家户户', 1), ('家里', 1), ('家虫', 1), ('似乎', 1), ('像样', 1), ('灰沉沉', 1), ('天底下', 1), ('忽而', 1), ('凉风', 1), ('便息', 1), ('列索', 1), ('落地', 1), ('雨来', 1), ('雨过', 1), ('渐渐', 1), ('地卷', 1), ('西去', 1), ('太阳', 1), ('露出', 1), ('脸来', 1), ('青布', 1), ('单衣', 1), ('夹袄', 1), ('都市', 1), ('闲人', 1), ('烟管', 1), ('斜桥', 1), ('影里', 1), ('桥头', 1), ('树底下', 1), ('一立', 1), ('遇见', 1), ('熟人', 1), ('便会用', 1), ('缓慢', 1), ('悠闲', 1), ('声调', 1), ('微叹', 1), ('互答', 1), ('天可真凉', 1), ('可不是', 1), ('人念阵', 1), ('总老', 1), ('层字', 1), ('平平', 1), ('仄仄', 1), ('念错', 1), ('歧韵', 1), ('正好', 1), ('果树', 1), ('奇景', 1), ('第一', 1), ('屋角', 1), ('墙头', 1), ('茅房', 1), ('边上', 1), ('灶房', 1), ('门口', 1), ('一株株', 1), ('长大', 1), ('橄榄', 1), ('鸽蛋', 1), ('颗儿', 1), ('椭圆形', 1), ('细叶', 1), ('显出', 1), ('淡绿', 1), ('微黄', 1), ('正是', 1), ('全盛时期', 1), ('枣树', 1), ('叶落', 1), ('红完', 1), ('西北风', 1), ('就要', 1), ('便是', 1), ('沙尘', 1), ('世界', 1), ('柿子', 1), ('葡萄', 1), ('成熟', 1), ('八九分', 1), ('七八', 1), ('之交', 1), ('清秋', 1), ('一年', 1), ('Golden', 1), ('Days', 1), ('批评家', 1), ('文人学士', 1), ('浓厚', 1), ('颓废', 1), ('赞颂', 1), ('不想', 1), ('开出', 1), ('帐来', 1), ('一篇', 1), ('诗歌散文', 1), ('一翻', 1), ('英德', 1), ('法意', 1), ('集子', 1), ('各国', 1), ('Anthology', 1), ('看到', 1), ('歌颂', 1), ('悲啼', 1), ('著名', 1), ('长篇', 1), ('田园诗', 1), ('四季', 1), ('诗里', 1), ('总以', 1), ('部分', 1), ('写得', 1), ('最出色', 1), ('足见', 1), ('动物', 1), ('情趣', 1), ('人类', 1), ('引起', 1), ('幽远', 1), ('严厉', 1), ('萧索', 1), ('感触', 1), ('不单是', 1), ('关闭', 1), ('牢狱', 1), ('囚犯', 1), ('一定', 1), ('不能自已', 1), ('深情', 1), ('秋之于', 1), ('国别', 1), ('有人', 1), ('阶级', 1), ('区别', 1), ('秋士', 1), ('成语', 1), ('读本', 1), ('有着', 1), ('普遍', 1), ('欧阳', 1), ('秋声', 1), ('苏东坡', 1), ('赤壁赋', 1), ('文人', 1), ('关系', 1), ('这秋', 1), ('非要', 1), ('感受', 1), ('到底', 1), ('南国', 1), ('特异', 1), ('廿四', 1), ('明月', 1), ('钱塘江', 1), ('秋潮', 1), ('普陀山', 1), ('凉雾', 1), ('荔枝', 1), ('残荷', 1), ('回味', 1), ('不永', 1), ('比起', 1), ('正像', 1), ('黄酒', 1), ('白干', 1), ('稀饭', 1), ('馍馍', 1), ('鲈鱼', 1), ('大蟹', 1), ('黄犬', 1), ('骆驼', 1), ('若留', 1), ('我愿', 1), ('寿命', 1), ('三分之二', 1), ('折去', 1), ('换得', 1), ('三分之一', 1), ('零头', 1), ('一九三四年', 1), ('八月', 1)]
  69. return sort_freq1
  70. if __name__ == '__main__':
  71. # 读取文本内容
  72. text = open(ARTICLE_PATH, encoding='utf-8').read()
  73. # 读取停顿词并分隔
  74. stop_words_list = open(STOP_WORDS_PATH, encoding='utf-8').read().split()
  75. # 通过jieba中文分词【递推式构造列表】
  76. word_list = [w for w in jieba.cut(text) if w not in stop_words_list and len(w) > 1]
  77. # 遮罩, 除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。
  78. mask = np.array(Image.open(MASK_PICTURE_PATH))
  79. # 提取颜色
  80. mask_color = ImageColorGenerator(mask)
  81. # 构造wordcloud对象,当参数【mode】为“RGBA”并且background_color不为空时,背景为透明
  82. # [repeat=True, max_words=100, stopwords=set(stop_words_list)]
  83. wcd = WordCloud(mask=mask, background_color='white', mode="RGBA", color_func=mask_color, font_path=FONT_PATH,
  84. scale=20)
  85. # 词频字典
  86. freq = count_frequencies(word_list)
  87. # 字典排序(倒序)
  88. # sorted_dict = dict_sort(freq, reverse=True)
  89. # 根据文本生成wordcloud
  90. wcd.generate_from_frequencies(frequencies=freq)
  91. # 需要generate,后设置颜色, 等同于构造方法中设置color_func属性
  92. # wcd.recolor(color_func=mask_color)
  93. wcd.to_file('constructor_color_scale.png')
  94. img = wcd.to_image()
  95. img.show(title='由构造方法设置color_func生成')

函数dict_sort()通过 递推式构造列表/递推式构造字典 进行字典排序