Criando wordcloud usando python
Estou tentando criar umpalavra nuvem noPitão após a limpezaarquivo de texto ,
Obtive os resultados necessários, ou seja, palavras que são usadas principalmente no arquivo de texto, mas que não conseguem plotar.
Meu código:
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()
Editar: Plotou o wordcloud com os seguintescódigo:
wordcloud = WordCloud(background_color='white',
width=1200,
height=1000
).generate((d.most_common(10)))
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
Mas conseguirTypeError: expected string or buffer
quando tentei o código acima com.generate(str(d.most_common(10)))
opalavra nuvem formado está mostrandoapóstrofo(') assinar depois de várias palavras
usando o notebook Jupyter | python3 | Ipython