Matplotlib学习笔记

1. pyplot基础语法

1.1 plt.figure - 创建空白画布

plt.figure( figsize=(num1, num2), dpi=num3 )

-> figsize : 指定画布的大小
-> dip : 指定画布的像素

1.2 figure.add_subplot - 创建子图并选中子图

figure.add_subplot(行, 列, 子图序号)

创建子图的方式:
通过行和列指定子图的规模,比如(3, 2)就是创建一个3行2列的子图;
每个子图可看做一个空白方框,最终结果就是有3行,每行有两个空白方框,
编号从1开始,从第一行开始从左到右编号,第一行结束到第二行。

figure.add_subplot(4, 3, 6)
在这里插入图片描述
创建一个4行3列的子图框架每个子图可看做一个方框,从第一行开始自做向右由1开始编号,选中编号为6的子图。


1.3 plt.title - 指定标题

plt.title(‘name’) 为图像增添标题name,可通过其他参数定义标题的名称,位置,字体,颜色等

参数:

-> fontsize : 字体大小,默认12; 
可选参数 [‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’,‘x-large’, ‘xx-large’]

-> fontweight : 字体粗细; 
可选参数 [‘light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’, ‘heavy’, ‘black’]

-> fontstyle : 字体类型; 
可选参数[ ‘normal’, ‘italic’, ‘oblique’ ]

-> verticalalignment : 水平对齐方式; 
可选参数 [‘center’ , ‘top’ , ‘bottom’ , ‘baseline’]

-> horizontalalignment : 设置垂直对齐方式;
可选参数:left,right,center

-> rotation : 旋转角度
可选参数为:vertical,horizontal 也可以为数字

-> alpha : 透明度
参数值0-1之间

-> backgroundcolor : 标题背景颜色

-> bbox : 给标题增加外框 ,常用参数如下:
	1. boxstyle方框外形
	2. facecolor(简写fc)背景颜色
	3. edgecolor(简写ec)边框线条颜色
	4. edgewidth边框线条大小

1.4 plt.xlabel, plt.ylabel - 定义轴属性

plt.xlabel() : 在图形中添加x轴名称, 可通过参数指定位置,颜色,字体等
plt.ylabel() : 在图形中添加y轴名称, 可通过参数指定位置,颜色,字体等


1.5 plt.xlim, plt.ylim - 指定区间

plt.xlim((start, end)) : 指定x轴的区间
plt.ylim((start, end)) : 指定y轴的区间


1.6 plt.xticks, plt.yticks - 指定刻度

plt.xticks() : 指定x轴刻度, 传入可迭代对象,如[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]或range(0, 11)
plt.yticks() : 指定y轴刻度

以下的实参传入都是合法的:

plt.xticks(range(0, 11))  
plt.yticks(np.arange(0, 11))

1.7 plt.plot - 绘制曲线

plt.plot(x, y) : 给出x和y的关系,因变量y用自变量x表示。python会绘制出对应的曲线

如:

plt.plot(x, x**2)

python会绘制一条y=x^2的曲线


1.8 plt.legend - 指定图形的图例

plt.legned([‘y=x^2’]) :在图上对曲线进行标注


1.9 plt.savefig - 保存图像

plt.savefig(‘路径’) :将生成的图像保存到指定的路径中


1.10 plt.show - 展示图像

plt.show() : 运行代码时,实时展示图像

2. 创建图像的流程

import matplotlib.pyplot as plt
import numpy as np

# 1. 由于采用描点画图的方式,首先需要定义x的取值
data = np.arange(0, 10, 0.01)

# 2. 创建画布(同时创建多个图像时用)
p1 = plt.figure(figsize=(8, 6), dpi=80)

# 3. 选择子图(同时创建多个图像时用)
ax1 = p1.add_subplot(2, 1, 1) # 创建两行一列的子图框架,并选择第1个子图

# 4. 为图像添加标题
plt.title('test')

# 5. 添加x, y轴
plt.xlabel('x')
plt.ylabel('y')

# 6. 确定x, y轴范围
plt.xlim((0, 10))
plt.ylim((0, 10))

# 7. 确定x, y轴的刻度
plt.xticks(list(range(0, 11)))
plt.yticks(list(range(0, 11)))

# 8. 添加曲线
plt.plot(x, x**3)

# 9. 标注曲线方程
plt.legend('y=x^3')

# 10. 保存图片(可选)
plt.savefig('路径')

# 11. 展示图片(可选)
plt.show()

3. 实例

绘制三个图像,分别为y=x, y=sinx,y=cosxy=sinx
如下:

import numpy as np
import matplotlib.pyplot as plt

data = np.arange(0, np.pi*2, 0.01)

# 第一幅子图
p1 = plt.figure(figsize=(20, 15), dpi=80)
ax1 = p1.add_subplot(2, 2, 1)
plt.title('y = x')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0, np.pi*2))
plt.ylim((0, np.pi*2))
plt.xticks([0, np.pi/2, np.pi, np.pi*1.5, np.pi*2])
plt.yticks([0, np.pi/2, np.pi, np.pi*1.5, np.pi*2])
plt.plot(data, data)
plt.legend(['y = x'])

# 第二幅子图
ax2 = p1.add_subplot(2, 2, 2)
plt.title('sinx')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0, np.pi*2))
plt.ylim((-1, 1))
plt.xticks([0, np.pi/2, np.pi, np.pi*1.5, np.pi*2])
plt.yticks([-1, -0.5, 0, 0.5, 1])
plt.legend(['y = sinx'])
plt.plot(data, np.sin(data))


# 第三幅子图
ax3 = p1.add_subplot(2, 1, 2)
plt.title('x, sinx')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0, np.pi*2))
plt.ylim((-1, 1))
plt.xticks([0, np.pi/2, np.pi, np.pi*1.5, np.pi*2])
plt.yticks([-1, -0.5, 0, 0.5, 1])
plt.plot(data, np.cos(data))
plt.plot(data, np.sin(data))
plt.legend(['y = cosx', 'y = sinx'])
plt.show()

结果如下
在这里插入图片描述


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值