Я пытаюсь создать облако слов из фрейма данных, где есть столбец слов и столбец для их соответствующих частот. Я также загрузил изображение, которое хочу использовать в качестве маски, например: cloud изображение
Я не могу заставить 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()