一、词云库wordcloud的安装与运用
1、安装:
pip install wordcloud #网络安装
pip install jieba #jieba:中文分词库
python -m pip install #本地安装
2、应用:
生成步骤:
创建词云对象——>加载词云文本——>输出词云图片(文件)
(1)默认的矩形词云图片
(2)提供的图形词云图片
示例一:生成默认的矩形词云图片并保存在指定的文件夹里
#示例1:生成默认的矩形词云图片并保存在指定的文件夹里
import wordcloud #导入词云库
from PIL import Image
import matplotlib.pyplot as plt #导入数据可视化图库
with open('../Stu_pack/wordcloud/See You Again.txt') as file:
fr = file.read()
wc = wordcloud.WordCloud() #创建词云对象wc 库名.方法
wc.generate(fr) #用生成器方法创建词云图片
wc.to_file('SYA.png') #将生成的图片保存在指定的文件夹里
wc.to_image() #显示图片文件
示例二:
import wordcloud
from imageio import imread
from PIL import Image
import matplotlib.pyplot as plt
mk=imread('../Stu_pack/wordcloud/Love_Star.png')
with open('../Stu_pack/wordcloud/See You Again.txt') as file:
fr = file.read()
wc=wordcloud.WordCloud(mask=mk,background_color = '#cc00cc' )
wc.generate(fr)
wc.to_file('../R&Q_pic/SYA_1.png' )#用词云方法保存
plt.imshow(wc)
plt.savefig('../R&Q_pic/SYA.png')
plt.axis('off')
plt.show()
二、matplotlib.pyplot绘图相关的对象:
1、容器类:图(figure)、坐标系(axes)、坐标轴(axis)、刻度(tick)
2、基础类:线(line)、点(marker)、文本(text)、图例(legend)、网络(grid)、标题(title)
3、下载安装:
pip install matplotlib #下载绘图库
pip show matplotlib #查看
三、绘图的类型:
1、线性图:plot()
2、直方图:hist()
3、条形图:bar()
4、饼图:pie()
5、散点图:scatter()
6、3D图:from mpl_toolkits.mplt3d import Axes3D
7、动态交互图:pyecharts
示例三:绘制线性平行四边形
import matplotlib.pyplot as plt #导入可视化库
plt.rcParams['font.family'] = 'kaiti'
plt.plot([4,5,6,5,4],[4,4,6,6,4]) #创建线性图表,前[]为X轴坐标,后[]为y轴坐标
plt.xlabel('grade') #添加x轴坐标轴标签
plt.ylabel('course') #添加y轴坐标轴标签
plt.savefig('../R&Q_pic/test0.png') #将生成的图表保存到指定的位置
plt.show() #显示图表
示例四:同一绘图区域绘制多图
3.1、Numpy库介绍
1、NumPy(Numerical Python)是高性能科学计算和数据分析的基础包。它极大地简化了多维数组的操作和处理,大部分数据处理软件包都依赖于 NumPy.
2、NumPy 具有以下特点:
(1)NumPy提供了对数组和矩阵进行快速运算的标准数学函数
(2)NumPy 提供了很多矢量运算的接口,比手动用循环实现速度要快很多
(3)NumPy开放源代码,由许多协作者共同维护开发。
3.2、安装
pip install numpy
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,'',label='d')
plt.plot(a,a**2,'mH--',label='e')
plt.savefig('../R&Q_pic/test1.png',dpi=600) #图表的分辨率为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/test2',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))
#将坐标系分成3行2列,并将图表放在第2区域
plt.subplot (323)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='r')
plt.subplot(324)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='g')
plt.subplot(325)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='m')
plt.savefig('../R&Q_pic/test3',dpi=600)
plt.show()
示例七:显示气温变化趋势
import matplotlib.pyplot as plt
plt.figure(num='气温趋势',figsize=(6,4))
plt.rcParams['font.family']='Kaiti'
x=['周一','周二','周三','周四','周五','周六','周日']
y_1=[20,15,18,16,21,14,10]
y_2=[12,8,14,10,13,9,4]
plt.title('一周的气温变化趋势')
plt.xlabel('星期')
plt.ylabel('气温')
plt.plot(x,y_1,'rs--',label='最高气温')
plt.plot(x,y_2,'bo:',label='最低气温')
plt.legend()
plt.savefig('../R&Q_pic/test4',dpi=600)
plt.show()
示例八:绘制3D图
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(num = '3D绘图',figsize=(12,6))
ax = fig.add_subplot(111, projection='3d')
#ax = Axes3D(fig, auto_add_to_figure=False)
fig.add_axes(ax)
X,Y = np.mgrid[-3:3:100j,-3:3:100j]
Z = np.exp(-X**2/2-Y**2/2)
plt.rcParams['font.family'] = 'Kaiti'
plt.rcParams['font.size'] = '18'
surf = ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
ax.set_zlim(-0.1,1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.title('$z=exp(-(x^2+y*^2)/2)的三维图像')
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.savefig('../R&Q_pic/test7',dpi=600)
plt.show()