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

Respuestas a la pregunta(2)

Su respuesta a la pregunta