当前位置:   article > 正文

用WordCloud绘制词云_wordcloud绘制圆形词云

wordcloud绘制圆形词云

初步认识

wordcloud是词云绘图模块,封装了WordCloud词云类,是词云的基本载体。在新建一个词云之后,通过generate装载用以生成词云的字符串,最后用to_file把词云图保存到文件中,例如

from wordcloud import WordCloud

w = WordCloud()
txt = "tinycool cool tiny Python WordCloud word cloud word not world"
w.generate(txt)
w.to_file("pywordcloud.png")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

效果如下

在这里插入图片描述

基本参数

仅就这张图像来说,我们能感受到的特性大概有

  • 词云图的宽度、高度
  • 背景颜色,文字颜色
  • 字体
  • 单词长度,单词个数

这些特性可受到下列参数调控

参数说明备注
font_path字体文件路径otf或ttf文件
width词云宽度默认400
height词云高度默认200
min_font_size最小文字尺寸默认4
max_font_size最大文字尺寸默认为图像高度
relative_scaling词频对尺寸的影响默认"auto"
font_step字体步长默认1
max_words最大单词数默认200
min_word_length最短单词长度默认0
background_color背景色默认"black"
mode颜色格式默认RGB
colormap颜色映射
repeat是否重复单词默认False

下面对这些参数稍作更改,并

# txt即本文前面所有文字,因为太多就不写了
txt = r'''
'''
dct = dict(width=600, height=300,
    font_path = r"C:\Windows\Fonts\simhei.ttf",
    min_font_size = 10,
    max_font_size = 100,
    max_words = 20,
    min_word_length = 2,
    background_color = "white",
    colormap = "jet")

w = WordCloud(**dct)
w.generate(txt)
w.to_file("pywordcloud.png")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

效果如下,由于最多只显示20个单词,而且尺寸最小是10,最大100,所以不太好看。

在这里插入图片描述

掩模参数

所谓掩模,就是词云组成的图案,主要由以下参数调控。

参数说明备注
mask掩模数组默认None
contour_width掩模宽度默认为0
contour_color掩模颜色默认"black"

掩模数组由0和1构成,词云只在掩模数组为1的位置显示。下面画一个椭圆作为掩模数组,椭圆圆周的方程为

( x − 300 ) 2 28 0 2 + ( y − 150 ) 2 14 0 2 = 1 \frac{(x-300)^2}{280^2}+\frac{(y-150)^2}{140^2}=1 2802(x300)2+1402(y150)2=1

x = 300 ± 28 0 2 − ( 2 y − 300 ) 2 x = 300\pm\sqrt{280^2-(2y-300)^2} x=300±2802(2y300)2

import numpy as np
y, x = np.indices([300,600])
delta = np.sqrt(280**2-(2*y-300)**2)
mask = (x<300+delta) & (x>300-delta)
mask = (1-mask)*254+1

w = WordCloud( mask = mask, contour_width=100,
    font_path = r"C:\Windows\Fonts\simhei.ttf")
w.generate(txt)
w.to_file("pywordcloud.png")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

效果如下

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/506553
推荐阅读
相关标签
  

闽ICP备14008679号