Python词云中心化
Python word cloud centralization
我在 python 中使用“WordCloud”库。我试图生成一些词云,但遇到了问题。我怎样才能把最长的词放在云的中心?关于它的文档没有任何意义。
您可以使用以下代码片段。
我们首先需要计算绝对频率。为此,我们创建了一个字典,其中包含每个单词作为键,其长度作为值。然后我们可以使用 wordcloud 的函数 generate_from_frequencies
来生成 wordcloud.
import numpy as np
import matplotlib.pyplot as plt
import multidict
from wordcloud import WordCloud
def getFrequencyDictForText(word_list):
fullTermsDict = multidict.MultiDict()
# making dict for counting frequencies
for text in word_list:
fullTermsDict.add(text.lower(), len(text))
return fullTermsDict
word_list = "Birds are a group of warm-blooded vertebrates constituting the class Aves characterised by feathers toothless beaked jaws the laying of hard-shelled eggs a high metabolic rate".split(" ")
wc = WordCloud(background_color="white")
wc.generate_from_frequencies(getFrequencyDictForText(word_list))
plt.axis("off")
plt.imshow(wc, interpolation="bilinear")
plt.show()
这是结果输出:
我在 python 中使用“WordCloud”库。我试图生成一些词云,但遇到了问题。我怎样才能把最长的词放在云的中心?关于它的文档没有任何意义。
您可以使用以下代码片段。
我们首先需要计算绝对频率。为此,我们创建了一个字典,其中包含每个单词作为键,其长度作为值。然后我们可以使用 wordcloud 的函数 generate_from_frequencies
来生成 wordcloud.
import numpy as np
import matplotlib.pyplot as plt
import multidict
from wordcloud import WordCloud
def getFrequencyDictForText(word_list):
fullTermsDict = multidict.MultiDict()
# making dict for counting frequencies
for text in word_list:
fullTermsDict.add(text.lower(), len(text))
return fullTermsDict
word_list = "Birds are a group of warm-blooded vertebrates constituting the class Aves characterised by feathers toothless beaked jaws the laying of hard-shelled eggs a high metabolic rate".split(" ")
wc = WordCloud(background_color="white")
wc.generate_from_frequencies(getFrequencyDictForText(word_list))
plt.axis("off")
plt.imshow(wc, interpolation="bilinear")
plt.show()
这是结果输出: