如何根据单词的值可视化单词的大小

2024-03-29 05:34:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道这是否可行,甚至不知道如何做到这一点,但有没有办法做到这一点

我有一个df,看起来像这样:

          0                                1
5  0.968470                              car
0  0.014322                            adult
4  0.013177                            child
6  0.001174                          mailbox
7  0.001163                        lightpost
1  0.001144                          bicycle
3  0.000200                         stopsign
2  0.000184                     trafficlight
8  0.000165                              dog

它是分类问题的概率分布输出。我想打印出单词(第[0]列),但字体大小要反映该行的概率值(第[1]列)。有点像单词云,当单词出现频率较高时,它会以更大的字体打印单词

关于如何处理这个问题有什么想法吗


Tags: childdf分类单词car字体大小dogmailbox
1条回答
网友
1楼 · 发布于 2024-03-29 05:34:05

wordcloud有一个选项^{},它使用具有相对频率的字典。参数prefer_horizontal=1只能用于强制水平单词(默认值为0.9:大约10%的垂直单词)

from wordcloud import WordCloud
from matplotlib import pyplot as plt

d = {w: f for w, f in
     zip(['car', 'adult', 'child', 'mailbox', 'lightpost', 'bicycle', 'stopsign', 'trafficlight', 'dog'],
         [0.968470, 0.014322, 0.013177, 0.001174, 0.001163, 0.001144, 0.000200, 0.000184, 0.000165])}
wordcloud = WordCloud(background_color='turquoise', colormap='inferno', prefer_horizontal=1)
wordcloud.generate_from_frequencies(frequencies=d)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()

resulting wordcloud

相关问题 更多 >