提问人:m_len_pbs 提问时间:8/7/2023 更新时间:8/7/2023 访问量:35
自定义和随机字体大小 词云 Python
Custom and random Font Size Wordcloud Python
问:
我有以下问题:我有一个创建词云的现有代码,它工作正常。最初的问题是单词的大小不是随机分布的;我输入的第一个单词最终最大,然后它的大小减小了。但是,我希望尺寸是随机分配的。现在,我想修改我的代码,为几个选定的单词设置特定的字体大小,同时保持其余单词的随机分布。我想确保代码的其他功能保持不变。换句话说,每个单词仍应只出现一次,并且蒙版、颜色和字体的使用应保持不变。
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from PIL import Image
text = "Python Analyse Hallo "
zweiteilige_woerter = {"Hallo DU", "Deep Learning", "Netzszenarien"}
frequencies = {}
for word in text.split():
frequencies[word] = frequencies.get(word, 0) + 1
# Verarbeite die Wörter aus der Menge der zweiteiligen Wörter und setze ihre Häufigkeiten in frequencies
for word in zweiteilige_woerter:
frequencies[word] = frequencies.get(word, 0) + 1
# Erstelle eine quadratische Maske in der gewünschten Größe
width_px = 800
height_px = 800
x, y = np.ogrid[:width_px, :height_px]
mask = (x - width_px//2) ** 2 + (y - height_px//2) ** 2 > (width_px//2) ** 2
mask = 255 * mask.astype(int)
wordcloud = WordCloud(background_color=None, mode="RGBA", contour_color='white', contour_width=0, prefer_horizontal=1.0, font_path='arial', mask=mask, max_font_size=80)
wordcloud.generate_from_frequencies(frequencies=frequencies)
colors = [(100, 30, 10), (0, 0, 0)] #example, I used different colors, but this is just the kind of
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
return colors[np.random.randint(0, len(colors))]
# Wende die Farben auf die WordCloud an
wordcloud.recolor(color_func=random_color_func)
# Zeige die WordCloud an
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
我尝试了多种方式使用 CHatGBT 以我描述的方式更改我的代码,但我没有任何效果。 问候 玛 琳
答: 暂无答案
评论