python实现词云
首先我们先配置下环境: 打开命令行,输入以下命令,回车:
1 | pip3 install numpy matplotlib pillow wordcloud imageio jieba snownlp itchat -i https://pypi.tuna.tsinghua.edu.cn/simple |
如果遇上权限问题的话:
在前面加上sudo
如果你遇到python pip更新问题:
输入以下命令:
sudo pip3 --upgrade pip
下面开始正式的词云学习:
1 | # 导入第三方库 |
效果如下:
这只是简单的制作,我们还可以美化它:
我们可以在WordCloud()里面加入各种参数,控制词云的字体,字号,字色,背景颜色等等。
wordcloud库会非常智能地按空格进行分词及词频统计,出现次数多的词就大。
美化词云
注意字体
1 | import wordcloud |
常用参数
- width 词云图片宽度,默认400像素
- height 词云图片高度 默认200像素
- background_color 词云图片的背景颜色,默认为黑色
background_color='white'
- font_step 字号增大的步进间隔 默认1号
font_path 指定字体路径 默认None,对于中文可用font_path='msyh.ttc'
- mini_font_size 最小字号 默认4号
- max_font_size 最大字号 根据高度自动调节
- max_words 最大词数 默认200
- stop_words 不显示的单词 stop_words={"python","java"}
- Scale 默认值1。值越大,图像密度越大越清晰
- prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?
- relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍
- mask 指定词云形状图片,默认为矩形
通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)
1 | w=wordcloud.WordCloud( |
从外部文件读入文本
1 | import wordcloud |