Python数据分析及可视化实例之词云
发布时间:2021-12-03
公开文章
安装步骤:
敲黑板~~~~中文显示按此操作,英文可以无视:
1、准备好一个中文字体,如 simhei.ttf;
2、将其复制到wordcloud安装根目录中;
3、在 wordcloud.py 中修改 FONT_PATH 为相应字体。
当然,你也可以在实例化的时候手动制定路径,上面方法一劳永逸。
# WordCloud类
class WordCloud(object):
def __init__(self, font_path=None, width=400, height=200, margin=2,
ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,
color_func=None, max_words=200, min_font_size=4,
stopwords=None, random_state=None, background_color='black',
max_font_size=None, font_step=1, mode="RGB",
relative_scaling=.5, regexp=None, collocations=True,
colormap=None, normalize_plurals=True)
.......
# 关键参数含义
width : int (default=400)
画布宽度
height : int (default=200)
画布高度
ranks_only : boolean (default=False)
是否只用词频排序而不是实际词频统计值,默认 False
prefer_horizontal : float (default=0.90)
词语水平出现的频率,默认 0.9 (即垂直出现频率为 0.1 )
mask : nd-array or None (default=None)
如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。
scale : float (default=1)
计算与绘制图像间的比例。对于较大的词云图像,使用比例而非较大的画布会显著提升绘图速度,但是可能会造成词语间的粗糙拟合。
max_words : number (default=200)
词语的最大数量
stopwords : set of strings
停用词
max_font_size : int or None (default=None)
最大词的最大字号;如果不指定,则为图像高度。
# 其他参数自行测试理解
举个例子:
from collections import Counter # 统计词频
from wordcloud import WordCloud, STOPWORDS #生成词云、通用词
import matplotlib.pyplot as plt # 在线显示
data = [open('红楼梦.txt','r',encoding='utf-8').read()]
# print(data[:10])
wc = WordCounter(data) # 基于Counter自定义的子类(留作业:结巴分词、停用词)
wordcloud = WordCloud(background_color="white",width=600, height=400, margin=5).fit_words(dict_fre)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
显示效果