一、词云库wordcloud的安装与应用
1、安装
pip install wordcloud #网络安装
python -m pip install 本地路径 #本地安装
2、应用
生成步骤:
创建词云对象-->加载词云文本-->输出词云图片(文件)
(1)默认的矩形词云图片
(2)提供的图形词云图片
import wordcloud #导入词云库
from PIL import Image
import matplotlib.pyplot as plt #导入可视化库
import jieba
wc = wordcloud.WordCloud(font_path = r'../Stu_pack/simhei.ttf') #创建词云对象
with open('../Stu_pack/万疆.txt',encoding = 'utf-8') as file:
fr = file.read()
fr = jieba.lcut(fr) #以列表值存放分割的词汇
fr = ' '.join(fr) #将列表用空格连接成一个字符串
wc.generate(fr) #加载词云文本
wc.to_file('../R&Q_pic/test.png')
# Image.open('../R&Q_pic/test.png')
plt.imshow(wc) #在二维坐标系中创建词云图片并显示出来
plt.axis('off') #隐藏坐标轴
plt.savefig('../R&Q_pic/test0.png')
plt.show() #显示图片
import jieba
txt = jieba.lcut('上海,电子,职业,技术,学院')
txt = ' '.join(txt)
txt
#(2)提供的词云图片
import wordcloud #导入词云库
from PIL import Image
import matplotlib.pyplot as plt #导入可视化库
import jieba
from imageio import imread
im = imread('../Stu_pack/Love_Star.PNG') #读取图片文件创建对象im
wc = wordcloud.WordCloud(mask = im,font_path = '../Stu_pack/simhei.ttf', background_color = '#00ffff') #创建词云对象
with open('../Stu_pack/万疆.txt',encoding = 'utf-8') as file:
fr = file.read()
fr = jieba.lcut(fr) #以列表值存放分割的词汇
fr = ' '.join(fr) #将列表用空格连接成一个字符串
wc.generate(fr) #加载词云文本
wc.to_file('../R&Q_pic/test1.png')
# Image.open('../R&Q_pic/test.png')
plt.imshow(wc) #在二维坐标系中创建词云图片并显示出来
plt.axis('off') #隐藏坐标轴
plt.savefig('../R&Q_pic/test2.png')
plt.show() #显示图片
二、matplotlib.pyplot绘图相关的对象:
三、绘图的类型:
#1、线行图:plot()
import matplotlib.pyplot as plt #导入可视化库
plt.rcParams['font.family'] = 'kaiti' #显示中文
plt.plot([4,8,3,6,9],[3,1,4,5,2]) #创建线形图、
plt.xlabel('课程')
plt.ylabel('成绩') #创建y坐标轴Grade
plt.savefig('../R&Q_pic/test3', dpi=600) #读取图片文件创建plt
plt.show() #显示图片
#同一绘图区域绘制多图
import numpy as np
import matplotlib.pyplot as plt
a=np.arange(10) #创建一个0-9的整数序列
plt.plot(a,a*1.5,'ro-',label='a')
plt.plot(a,a*2.5,'gx--',label='b')
plt.plot(a,a*3.5,'y*',label='c')
plt.plot(a,a*4.5,'bs-',label='d')
plt.plot(a,a**2,'mH--',label='e')
plt.savefig('../R&Q_pic/test2', dpi=600)
plt.legend() #显示图例
plt.show()
import numpy as np
np.arange(1,100,5)
#多区域绘图
import numpy as np
import matplotlib.pyplot as plt
a=np.arange(0,5,0.02)
plt.subplot(323) #3表示三行,2表示二列,1表示第一个区域
plt.plot(a,np.cos(2*np.pi*a),'-.',color='r')
plt.subplot(324)
plt.plot(a,np.sin(2*np.pi*a),'--',color='g')
plt.subplot(325)
plt.plot(a,np.tan(2*np.pi*a),':',color='m')
plt.savefig('../R&Q_pic/test5',dpi=600)
plt.show()
#2、条形图:bar()
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = "STSong"
years = ["2014", "2015", "2016", "2017", "2018", "2019"]
baokao_nums = [172, 164.9, 177, 201, 238, 290]
luqu_nums = [54.87, 57.06, 58.98, 72.22, 76.25, 79.3]
x = range(len(years))
plt.bar(x, height=baokao_nums, width=0.4)
plt.bar([i + 0.4 for i in x], luqu_nums, width=0.4)
plt.xticks([i + 0.2 for i in x], years) #横坐标对应的位置显示内容
plt.legend(["研究生报考人数","研究生录取人数"])
plt.ylabel("人数/万人")
plt.xlabel("年份")
plt.title("研究生历年报考和录取情况")
plt.savefig('../R&Q_pic/test5',dpi=600)
plt.show()