my_list=["one", "one two", "three"]
and I am generating a word cloud for this list by using
wordcloud = WordCloud(width = 1000, height = 500).generate(" ".join(my_list))
As I am converting all the items into string it is generating word cloud for
"one","two","three" But I want to generate word cloud for the values, "one","one two","three"
help me for generating word cloud for items in a list
Advertisement
Answer
one way of doing,
import matplotlib.pyplot as plt from wordcloud import WordCloud #convert list to string and generate unique_string=(" ").join(my_list) wordcloud = WordCloud(width = 1000, height = 500).generate(unique_string) plt.figure(figsize=(15,8)) plt.imshow(wordcloud) plt.axis("off") plt.savefig("your_file_name"+".png", bbox_inches='tight') plt.show() plt.close()
Another way by creating Counter Dictionary,
#convert it to dictionary with values and its occurences from collections import Counter word_could_dict=Counter(my_list) wordcloud = WordCloud(width = 1000, height = 500).generate_from_frequencies(word_could_dict) plt.figure(figsize=(15,8)) plt.imshow(wordcloud) plt.axis("off") #plt.show() plt.savefig('yourfile.png', bbox_inches='tight') plt.close()