目录
目标:用python画出,网上流行的wordcloud词云图
4.1.1 可能又是jupyternotebook这个IDE的特殊性导致的?
以我的环境 anaconda为例子
随便找点词语,有重复的,不重复的即可。
开心、喜悦、狂喜、尽情、快乐、愉悦、畅快、欣喜、幸福、得意、痛快、满足、欢乐、快活
快乐,舒畅,舒心,欢畅,夷悦,欣忭,怡悦,得意,愿意,欢跃,夷愉,欢快,喜悦,快活,愉快,欢乐,忻悦,欣喜,欢喜,痛快,雀跃,乐意
眉开眼笑 眉飞色舞 喜上眉梢 喜在眉宇 喜眉笑目 捧腹大笑 手舞足蹈 前仰后合
开怀大笑 欢蹦乱跳 笑容可掬 喜笑顡开 笑逐颜开 相视而笑 谈笑风生 兴高采烈
喜从天降 高高兴兴 开开心心 嘻嘻哈哈 满怀喜悦 满心欢喜 喜出望外 大喜过望
甜美、微笑、兴奋,陶醉,高兴,自豪、欣慰,满意、幸运、嬉笑,满意、幸运、嬉笑,狂笑,荣幸,痛快、满足、欢乐、快活,畅快、欣喜、幸福、得意,开心、喜悦、狂喜、尽情、快乐、愉悦、畅快、欣喜、幸福、逸乐、尽情、舒畅、愉快、喜哈、愉快
from wordcloud import WordCloud,STOPWORDS
import PIL.Image as image#默认矩形,有想要的形状可以加入图片
#plt.rcParams['font.family']='LiSu'# 正常显示中文
#plt.rcParams['axes.unicode_minus']=False# 正常显示负号
def get_wordList():
f = open(r'C:\Users\Administrator\Desktop\t2.txt')
wordList = f.read()
return wordList
def get_wordClound(mylist):
pic_path = r'C:\Users\Administrator\Desktop\tp2.jpg'#注意路径
img_mask = np.array(image.open(pic_path))#图片解码
wordcloud = WordCloud(background_color = "white",mask = img_mask).generate(mylist)
#font_path ="C:/Windows/Fonts/msyh.ttc",
#mask = img_mask掩码 generate(mylist)获取数据
plt.imshow(wordcloud)
plt.axis("off")#去除坐标轴
wordList = get_wordList()
get_wordClound(wordList)
plt.title("wordcloud词云实验")
plt.show()
matplotlib 对中文的支持有问题
一般画图时,遇到图片相关中文显示问题,一般在代码前面加这2句
plt.rcParams['font.family']='LiSu'# 正常显示中文
plt.rcParams['axes.unicode_minus']=False# 正常显示负号
from wordcloud import WordCloud,STOPWORDS
import PIL.Image as image#默认矩形,有想要的形状可以加入图片
plt.rcParams['font.family']='LiSu'# 正常显示中文
plt.rcParams['axes.unicode_minus']=False# 正常显示负号
def get_wordList():
f = open(r'C:\Users\Administrator\Desktop\t2.txt')
wordList = f.read()
return wordList
def get_wordClound(mylist):
pic_path = r'C:\Users\Administrator\Desktop\tp2.jpg'#注意路径
img_mask = np.array(image.open(pic_path))#图片解码
wordcloud = WordCloud(font_path ="C:/Windows/Fonts/msyh.ttc",background_color = "white",mask = img_mask).generate(mylist)
#mask = img_mask掩码 generate(mylist)获取数据
plt.imshow(wordcloud)
plt.axis("off")#去除坐标轴
wordList = get_wordList()
get_wordClound(wordList)
plt.title("wordcloud词云实验")
plt.show()
核心
? ? wordcloud = WordCloud(font_path ="C:/Windows/Fonts/msyh.ttc",background_color = "white",mask = img_mask).generate(mylist)
from wordcloud import WordCloud,STOPWORDS
import PIL.Image as image? #默认矩形,有想要的形状可以加入图片#居然不需要 import? matplotlib ?
jupyternotebook
- 不用写 plt.show()? 也能显示matplotlib.pyplot 下的figure内的图形
- 不支持弱引用
def get_wordList():
? ? f = open(r'C:\Users\Administrator\Desktop\t2.txt')
? ? wordList = f.read()
? ? return wordList
def get_wordClound(mylist):
? ? pic_path = r'C:\Users\Administrator\Desktop\tp2.jpg'#注意路径
? ? img_mask = np.array(image.open(pic_path))#图片解码?
? ? wordcloud = WordCloud(font_path ="C:/Windows/Fonts/msyh.ttc",background_color = "white",mask = img_mask).generate(mylist)
? ? #mask = img_mask掩码 generate(mylist)获取数据
? ? plt.imshow(wordcloud)
? ? plt.axis("off")#去除坐标轴
? ? pic_path = r'C:\Users\Administrator\Desktop\tp2.jpg'#注意路径
? ? img_mask = np.array(image.open(pic_path))#图片解码?
核心
? ? wordcloud = WordCloud(font_path ="C:/Windows/Fonts/msyh.ttc",background_color = "white",mask = img_mask).generate(mylist)
wordList = get_wordList()
get_wordClound(wordList)