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

How to visualize the size of a word depending on its value

我不知道这是否可行,或者如何解决这个问题,但有没有办法进行后续操作?

我有一个看起来像这样的 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[])。有点像词云,出现频率高的词会用大字体打印出来。

关于如何解决这个问题有什么想法吗?

词云有一个选项generate_from_frequencies,它使用具有相对频率的字典。参数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()