如何根据单词的值可视化单词的大小
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()
我不知道这是否可行,或者如何解决这个问题,但有没有办法进行后续操作?
我有一个看起来像这样的 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()