词云图python代码如何显示轮廓以及去掉轮廓外的绘画
时间: 2023-07-28 13:07:15 浏览: 243
基于python实现按图片轮廓绘制词云图附项目源码分享
要显示词云图的轮廓并去掉轮廓外的绘画,可以使用 `WordCloud` 库中的 `mask` 参数和 `contour_color` 参数。
首先,需要准备好一个用于词云图轮廓的图片,可以是任何形状的图片,比如一个心形、一个动物、一颗星星等等。将该图片保存在本地,然后使用 `PIL` 库中的 `Image` 模块打开该图片,将其转换为数组形式,并将其传递给 `WordCloud` 类的 `mask` 参数。
接着,将 `WordCloud` 类的 `contour_color` 参数设置为要显示的轮廓颜色,将 `WordCloud` 类的 `background_color` 参数设置为与轮廓颜色相同的背景颜色,这样就可以去掉轮廓外的绘画。
下面是一个示例代码:
```python
from wordcloud import WordCloud
from PIL import Image
import numpy as np
# 打开并转换图片为数组
mask = np.array(Image.open("path/to/image.png"))
# 配置词云图
wordcloud = WordCloud(
mask=mask, # 设置轮廓
contour_color="white", # 设置轮廓颜色
background_color="white", # 设置背景颜色
)
# 生成词云图
wordcloud.generate(text)
# 显示词云图
import matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()
```
注意,`mask` 参数需要传递的是一个二维数组,其中轮廓部分的像素值为非零值,背景部分的像素值为零。如果图片中的轮廓不是白色或黑色的话,需要先将其转换为黑白色。
阅读全文