wordcloud词不适合掩码

时间:2018-05-20 13:39:59

标签: python word-cloud

我尝试从数据框创建wordcloud,其中有一列单词和一列用于各自的频率。我还下载了一张我想用作掩码的图片,例如:cloud image

尽管按照显示的例子,我仍然无法使用wordcloud来适应面具。这是我的代码:

from PIL import Image
import pandas as pd
import numpy as np
from wordcloud import WordCloud
import matplotlib.pyplot as plt

df = pd.DataFrame({'word':['time', 'car', 'Peter\'s', 'sky', 
                           'something', 'computer', 'brain', 'plants',
                           'trees', 'Alien\'s', 'gun', 'eat'],
                   'freq':[24, 16, 16, 15,
                           14, 13, 12, 10,
                           9, 9, 5, 3]})

words = ' '.join(df['word'])

cloud_image = r"C:\Users\L\Documents\Python Scripts\cloud.png"

mask = np.array(Image.open(cloud_image))

wordcloud = WordCloud(max_words=2000,
                      width=1280, 
                      height=720,
                      mask=mask)

wordcloud.generate_from_frequencies()

fig, ax = plt.subplots(figsize=(8, 6))
ax.imshow(wordcloud, interpolation='bilinear')
ax.axis("off")
ax.imshow(mask, interpolation='bilinear')
plt.show()

2 个答案:

答案 0 :(得分:0)

事实证明,这只是图像大小/类型的问题。它使用了不同的蒙版图像(虽然我之前尝试过两张图片但没有成功,因此发布了帖子)。

答案 1 :(得分:0)

我知道这个问题很旧,但是我只是花了一个小时来尝试使特定的图像用作遮罩。我面临的主要问题是我想用作wordcloud蒙版的图像没有白色(RGB 255,255,255)背景。我最终得到的解决方案是:

  1. 如果您的图片背景不同,请使用任何在线工具从图像中删除背景色。我使用了一个名为“ Background Burner”的站点,该站点使图像的背景透明。但是(据我发现),python的wordcloud将透明背景视为黑色。
  2. 对于无背景图像,请使用任何在线工具将背景(可能将是透明的)更改为白色。我使用了一个名为LunaPic的网站来更改我的图片。

结果是具有白色(RGB 255,255,255)背景的原始图像。 wordcloud的面具现在将按您的预期对待您的图像!