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

questionAnswers(2)

yourAnswerToTheQuestion