#一,词云库wordcloud的安装与应用
1,安装
pip install wordcloud #网络安装
conda update pillow #更新第三方库
python -m pip install 本地路径 #本地安装
2,应用
生成步骤:
创建词云对象-->加载词云文本-->输出词云图片(文件)
(1)默认的矩形词云图片
(2)提供的图片词云图片
import wordcloud
import matplotlib.pyplot as plt
wc = wordcloud.WordCloud() #创建词云对象
wc.generate('shanghai dianzi zhiye jishu xueyuan')
wc.to_file('../R&Q_pic/test.png') #将生成的词云图片生成到指定的文件夹
plt.imshow(wc) #在坐标系中显示图像
plt.axis('off') #隐藏坐标轴
plt.savefig('../R&Q_pic/test.1.png')
plt.show() #直接显示图像
import jieba
import wordcloud
from imageio import imread
import matplotlib.pyplot as plt
with open('../Stu_pack/万疆.txt',encoding ='utf-8' ) as file:
fr = file.read()
fr = jieba.lcut(fr)
fr = ' '.join(fr)
mk = imread('../Stu_pack/Love_Star.png')
wc = wordcloud.WordCloud(mask = mk,font_path = r'C:\Windows\Fonts\simhei.ttf')
wc.generate(fr)
wc.to_file('../R&Q_pic/Love_Star.png')
plt.imshow(wc)
plt.axis('off')
plt.show()
二,matplotilb.pyplot绘制相关的对象:
1,容器类:图(figure),坐标系(exes),坐标轴(axis),刻度(ticker)
2, 基础类: 线(line),点(marker),文本(text),图例(legend),网格(grid)
#1,线形图:plot()
import matplotlib.pyplot as plt
plt.plot([3,1,4,5,2])
plt.ylabel('Grade') #显示y轴图标
plt.savefig('../R&Q_pic/test0', dpi=600)
plt.show() #直接显示图像
#同一绘图区域绘制多图
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(10)
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 matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = 'kaiti' #设置中文字体
x = np.arange(0,4,0.02)
y_1 = np.sin(np.pi*x)+2
y_2 = np.cos(np.pi*x)
plt.plot(x,y_1,'mx')
plt.plot(x,y_2,'r')
plt.legend(['正弦函数','余弦函数'])
plt.title('正余弦函数图')
plt.savefig('../R&Q_pic/test3', dpi=600)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t)*np.cos(2*np.pi*t)
a=np.arange(0,5,0.02)
plt.subplot(322)
plt.plot(a,f(a))
plt.subplot(323)
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/test4',dpi=600)
#2,条形图
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.legend(["研究生报考人数","研究生录取人数"])
plt.ylabel("人数/万人")
plt.xlabel("年份")
plt.title("研究生历年报考和录取情况")
plt.savefig('../R&Q_pic/test5',dpi=600)
plt.show()
#3,饼图:pie()
#案例:已知一个学生一天的活动时间分配为:学习8个小时,睡觉7个小时,吃饭三个小时,玩乐六个小时,绘制该学生一天的时间分配饼状图
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'FangSong' #设置字体
plt.rcParams['font.size'] = 18 #设置字体大小
labels = ['学习','睡觉','吃饭','玩乐'] #活动标签
hours = [8, 7, 3, 6] #时间分配
colors = ['c', 'm', 'r', 'y'] #各部分颜色
plt.pie(hours, labels=labels, colors=colors, shadow=True,explode=(0, 0.1, 0, 0), autopct='%.1f%%',labeldistance=1.2) #请分别测试个参数的含义
plt.title("一天的时间分配饼状图")
plt.savefig(' ../R&Q_pic/test6',dpi=600)
plt.show()