Crear wordcloud usando python
Estoy tratando de crear unwordcloud enpitón despues de limpiarArchivo de texto ,
Obtuve los resultados requeridos, es decir, palabras que se usan principalmente en el archivo de texto pero que no pueden trazar.
Mi 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: Trazó la nube de palabras con el siguientecódigo:
wordcloud = WordCloud(background_color='white',
width=1200,
height=1000
).generate((d.most_common(10)))
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
Pero conseguirTypeError: expected string or buffer
cuando probé el código anterior con.generate(str(d.most_common(10)))
loswordcloud formado está mostrandoapóstrofe(') firmar después de varias palabras
utilizando Jupyter Notebook | python3 | Ipython