簡體   English   中英

如何查看和保存Python中生成的WordCloud

[英]How to view and save the WordCloud generated in Python

我正在嘗試從.csv文件中生成Python中的 WordCloud。

這就是我的.csv文件的樣子:

title,views
universe,45678
earth,34366
smtp,4567987

這就是我創建WordCloud 所做的:

import csv
import matplotlib.pyplot as pPlot
from wordcloud import WordCloud, STOPWORDS

reader = csv.reader(open('C:/Users/Sushma/Downloads/wordcloud.csv', 'r', newline = '\n', encoding = 'utf-8'))

for k, v in reader:
    d[k] = float(v)

wordcloud = WordCloud().generate_from_frequencies(d)

如果我打印WordCloud ,我會得到一個 object id

誰能建議如何將其保存為圖像以及如何在 Python 上查看它?

首先,您的代碼中有一些錯誤:

1.csv文件必須放在一個list才能讀取:

with open('C:/Users/Sushma/Downloads/wordcloud.csv', 'r', encoding = 'utf8', newline = '\r\n') as file:
    reader = csv.reader(file, skipinitialspace = False, delimiter = ',', quoting = csv.QUOTE_NONE)
    data = list(reader)

2.之后,必須創建一個dictionary ,其中包含int格式的鍵和值,以便稍后我們可以創建WordCloud

word_freq = {}
for k, v in data[1:]:
   word_freq[k] = int(v)

現在,您需要創建一個variable來接收文本與其頻率之間的乘積:

text = ' '.join([(k + ' ') * v for k, v in word_freq.items()])

然后,您將創建將接收此變量textWordCloud

wordcloud = WordCloud(width = 1600,
                      height = 800,
                      background_color = 'white',
                      collocations = False,
                      repeat = True).generate_from_text(text)

plt.figure(figsize=(10,5))
plt.imshow(wordcloud, interpolation = "bilinear")
plt.axis('off')

現在您可以簡單地保存生成的WordCloud

plt.savefig(f'wordcloud.png',
            dpi = 300)

到 plot(可視化)只需使用:

plt.show()

最后結果:

最后結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM