python打开文件要wordcloud吗,使用python创建wordcloud
我正在嘗試在清理文本文件后在python中創(chuàng)建wordcloud,
我得到了所需的結(jié)果,即大多數(shù)在文本文件中使用但無(wú)法繪制的單詞.
我的代碼:
import collections
from wordcloud import WordCloud
import matplotlib.pyplot as plt
file = open('example.txt', encoding = 'utf8' )
stopwords = set(line.strip() for line in open('stopwords'))
wordcount = {}
for word in file.read().split():
word = word.lower()
word = word.replace(".","")
word = word.replace(",","")
word = word.replace("\"","")
word = word.replace("“","")
if word not in stopwords:
if word not in wordcount:
wordcount[word] = 1
else:
wordcount[word] += 1
d = collections.Counter(wordcount)
for word, count in d.most_common(10):
print(word , ":", count)
#wordcloud = WordCloud().generate(text)
#fig = plt.figure()
#fig.set_figwidth(14)
#fig.set_figheight(18)
#plt.imshow(wordcloud.recolor(color_func=grey_color, random_state=3))
#plt.title(title, color=fontcolor, size=30, y=1.01)
#plt.annotate(footer, xy=(0, -.025), xycoords='axes fraction', fontsize=infosize, color=fontcolor)
#plt.axis('off')
#plt.show()
編輯:
用以下代碼繪制wordcloud:
wordcloud = WordCloud(background_color='white',
width=1200,
height=1000
).generate((d.most_common(10)))
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
但是得到TypeError:預(yù)期的字符串或緩沖區(qū)
當(dāng)我用.generate(str(d.most_common(10))嘗試上述代碼時(shí)
形成的單詞云在幾個(gè)單詞之后顯示’trotrophe(‘)符號(hào)
using Jupyter Notebook | python3 | Ipython
解決方法:
首先將此文件Symbola.ttf下載到以下腳本的當(dāng)前文件夾中.
架構(gòu)文件:
file.txt Symbola.ttf my_word_cloud.py
file.txt的:
foo buzz bizz foo buzz bizz foo buzz bizz foo buzz bizz foo buzz bizz
foo foo foo foo foo foo foo foo foo foo bizz bizz bizz bizz foo foo
my_word_cloud.py:
import io
from collections import Counter
from os import path
import matplotlib.pyplot as plt
from wordcloud import WordCloud
d = path.dirname(__file__)
# It is important to use io.open to correctly load the file as UTF-8
text = io.open(path.join(d, 'file.txt')).read()
words = text.split()
print(Counter(words))
# Generate a word cloud image
# The Symbola font includes most emoji
font_path = path.join(d, 'Symbola.ttf')
word_cloud = WordCloud(font_path=font_path).generate(text)
# Display the generated image:
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
結(jié)果:
Counter({'foo': 17, 'bizz': 9, 'buzz': 5})
請(qǐng)參閱許多其他示例,在這里我為您創(chuàng)建了一個(gè)簡(jiǎn)單示例:
標(biāo)簽:word-cloud,python,matplotlib,plot
來(lái)源: https://codeday.me/bug/20191013/1905740.html
總結(jié)
以上是生活随笔為你收集整理的python打开文件要wordcloud吗,使用python创建wordcloud的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: node --- http数据上传
- 下一篇: python建立ip代理池_如何建Pyt