WordCloud参数:

Parameters
 |  ----------
 |  font_path : string
 |        使用的字体库
 |  width : int (default=400)
 |      图片宽度
 |  height : int (default=200)
 |      图片高度
 |  mask : nd-array or None (default=None)
 |      图片背景参考形状  
 |  scale : float (default=1)
 |      图幅放大、缩小系数  
 |  min_font_size : int (default=4)
 |      最小的字符
 |  min_font_size : int (default=4)
 |      最大的字符
 |  max_words : number (default=200)
 |      最多显示的词数
 |  stopwords : set of strings or None
 |      不需要显示的词
 |  background_color : color value (default="black")
 |      背景颜色
 |  ......

绘制指定形状:

#加载需要使用的类库
from PIL import Image
import numpy as np
from wordcloud import WordCloud, ImageColorGenerator
from matplotlib import pyplot as plt
#加载背景图片
cloud_mask = np.array(Image.open("./bc_img/heart.jpeg"))
#忽略显示的词
st=set(["东西","这是"])
#生成wordcloud对象
wc = WordCloud(background_color="white", 
    mask=cloud_mask,
    max_words=200,
    font_path="./font/wb.ttf",
    min_font_size=15,
    max_font_size=50, 
    width=400, 
    stopwords=st)
wc.generate(cloud_text)
wc.to_file("pic.png")

作者:小六六
链接:https://zhuanlan.zhihu.com/p/32891779

来源:知乎
通过上面的方法基本能实现自己想要的词云图

注意事项:

1、词云图模糊
可以调整scale来调节,一般来说scale=4,就已经很清晰了。
2、词云背景形状
背景形状的原理是填充不是白色的区域,因此可以简单使用PS扣下图,把想要的图案抠出来换成白色背景的图片。