MATPLOTLIB学习资料
安装
- 前置条件
Anaconda安装(开源Python发行版本)
Anaconda详细安装及使用教程(带图文)_代码帮的博客-优快云博客_anaconda
Anaconda创建属于自己的虚拟环境(RJW-study-01)
anaconda创建一个新的虚拟环境_准时准点睡觉的博客-优快云博客_anaconda创建虚拟环境
Matplotlib包安装
常用函数
-
Linspace函数
Linespace(a, b, c) 用于产生a, b之间的c点行矢量
-
Plot函数
plot()方法一般是用来绘制线条的 color:线条的颜色 linewidth:线条宽度 linestyle:线条样式 -- 虚线
-
Figure函数
figsize(num=3, figsize=(10, 10))方法 num:图的序号 figsize:图的大小 长 宽
-
ticks函数
1. ticks()函数 配合xticks(x)函数实现对坐标轴上标记的重新划分 2. ytick()函数用来分列等级 eg: plt.yticks([-2, -1.8, -1, 1.22, 3], [r'$really\ bad$', r'$bad$', r'$normal$', r'$good\ \alpha$', r'$really\ good$']) r$..$: 转义字符,前后都有 /: 空格 /alpha:代表特殊字符
-
gca()返回当前ax对象的句柄值
# 设置一个句柄值 ax = plt.gca() # 坐标轴--脊柱 设置颜色 ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') # 坐标轴 设置位置 ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('left') # 设置位置 # 设置该轴的固定点-- -1 ax.spines['bottom'].set_position(('data', 0)) # 设置该轴的固定点-- 0 ax.spines['left'].set_position(('data', 0))
-
图例的设置
# l1,是想要传值的特殊形式 l1, = plt.plot(x, y2, label='up') l2, = plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--', label='down') # 即是图例设置图例的别名,位置类型选择为最佳 plt.legend(handles=[l1,l2,], labels=['aaa', 'bbb'], loc='best')
图像
-
Image图像展示
# 一个图像 a = np.array([ 0.31, 0.37, 0.42, 0.37, 0.44, 0.53, 0.42, 0.53, 0.65 ]).reshape(3, 3) # 以nearest格式展示 origin-反转颜色位置 plt.imshow(a, interpolation='nearest', cmap='bone', origin='upper') # 颜色条展示 颜色条压缩 plt.colorbar(shrink=0.9) # 获取或设置当前x轴刻度位置和标签。若不传递任何参数,则返回当前刻度值 plt.xticks(()) plt.yticks(())
3D模型构建
-
3D模型构建过程
# 设置一个图像 fig = plt.figure() # 设置3D ax = Axes3D(fig) # 两个参数,步长为0.25,输出[-4,-3.75 ...] X = np.arange(-4, 4, 0.25) Y = np.arange(-4, 4, 0.25) # 生成网格采样点,等高线图的对象为矩阵,因此需要将向量转化为矩阵。 X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) # 正弦函数 Z = np.sin(R) # rstride、cstride设置表面间隔稀疏程度 ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow')) # contourf(Z) 创建一个包含矩阵 Z 的等值线的填充等高线图,其中 Z 包含 x-y 平面上的高度值。 # zdir为‘z’,含义是向z轴压缩 # offset 压缩目标坐标值 ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap='rainbow') # 设置z轴的范围 ax.set_zlim(-2, 2) plt.show()
多个图像排列
-
多个图像排列规则
# 分割显示 # 2:2行 # 3:3列 # 4:顺时针第4个位置 plt.subplot(234) # 坐标轴范围 plt.plot([0, 1], [0, 2])