由简如易的Python词云

这是我的第一篇文章,因为周围好多同学都在发,今天俺也漏这第一手。开始啦。

一、准备工作

小伙伴,首先你要确保自己的python已经安装好wordcloud库。建议用这样的方式

pip install numpy matplotlib pillow wordcloud imageio jieba snownlp itchat

-i https://pypi.douban.com/simple

二、最简洁的部分

# 导入词云制作第三方库wordcloud
import wordcloud
# 创建词云对象,赋值给w,现在w就表示了一个词云对象
zqq= wordcloud.WordCloud()
# 调用词云对象的generate方法,将文本传入
zqq.generate('This country is its people; the people are the country')
# 将生成的词云保存为output1.png图片文件,保存出到当前文件夹中
zqq.to_file('output1.png')

 

wordcloud库为每一个词云生成一个WordCloud对象

也就是说,wordcloud.WordCloud()代表一个词云对象,我们将它赋值给zqq

现在,这个zqq就是词云对象。

我们可以在WordCloud()括号里填入各种参数,控制词云的字体、字号、字的颜色、背景颜色等等。

wordcloud库会非常智能地按空格进行分词及词频统计,出现次数多的词就大。

下面是效果

由简如易的Python词云_第1张图片

 

三、在WordCloud()加入相应参数

import wordcloud

zqq=wordcloud.WordCloud(width=1000,height=700,background_color="white",font_path='C://Windows//Fonts//msyh.ttc')

c=zqq.generate('遥襟甫畅,逸兴遄飞。爽籁发而清风生,纤歌凝而白云遏。睢园绿竹,气凌彭泽之樽;邺水朱华,'
             '光照临川之笔。四美具,二难并。穷睇眄于中天,极娱游于暇日。天高地迥,觉宇宙之无穷;兴尽悲来,'
             '识盈虚之有数。望长安于日下,目吴会于云间。地势极而南溟深,天柱高而北辰远。关山难越,谁悲失路之人?'
             '萍水相逢,尽是他乡之客。怀帝阍而不见,奉宣室以何年?')
c.to_file('output2.png')

可以看到对制作的词云有了高和宽的限制,同时背景颜色设为了 白色,字体大小用的是mysh。然后词云的例子也变成了汉语。这是我比较喜欢的文章里的一段话。

下面是图的效果

由简如易的Python词云_第2张图片

 我也是第一次做,看着真气派哈哈。

四、WorldCloud()里的一些常用参数

  • 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 指定词云形状图片,默认为矩形

五、加上文件的操作

import wordcloud
f=open('PrefacetoTengwangPavilion.txt','r',encoding='utf-8')
txt=f.read()
zqq=wordcloud.WordCloud(width=1000,height=700,background_color="white",font_path='C://Windows//Fonts//msyh.ttc')
c=zqq.generate(txt)#避免了这里写上一大串字符
c.to_file('output3.png')
由简如易的Python词云_第3张图片

太棒了!

今天的分享就到这吧!以后有机会接着写jieba库的。

你可能感兴趣的:(python,python)