基本使用
1.1 基本用法
使用import
导入模块matplotlib.pyplot
,并简写成plt
使用import
导入模块numpy
,并简写成np
import matplotlib.pyplot as plt
import numpy as np
使用np.linspace
定义x:范围是(-1,1);个数是50. 仿真一维数据组(x ,y)表示曲线1.
x = np.linspace(-1, 1, 50)
y = 2*x + 1
使用plt.figure
定义一个图像窗口.
使用plt.plot
画(x ,y)曲线.
使用plt.show
显示图像.
plt.figure()
plt.plot(x, y)
plt.show()
1.2 figure图像
matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.
使用plt.figure
定义一个图像窗口. 使用plt.plot
画(x ,y1)曲线.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)
plt.show()
使用plt.figure
定义一个图像窗口:编号为3;大小为(8, 5). 使用plt.plot
画(x ,y2)曲线. 使用plt.plot
画(x ,y1)曲线,曲线的颜色属性(color)为红色;曲线的宽度(linewidth)为1.0;曲线的类型(linestyle)为虚线. 使用plt.show
显示图像.
plt.figure(num=3, figsize=(8, 5),)
plt.plot(x, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.show()
1.3 设置坐标轴1
使用plt.xlim
设置x坐标轴范围:(-1, 2);
使用plt.ylim
设置y坐标轴范围:(-2, 3);
使用plt.xlabel
设置x坐标轴名称:’I am x’;
使用plt.ylabel
设置y坐标轴名称:’I am y’;
plt.xlim((-1, 2))
plt.ylim((-2, 3))
plt.xlabel('I am x')
plt.ylabel('I am y')
plt.show()
承接上节代码可得:
使用
np.linspace
定义范围以及个数:范围是(-1,2);个数是5.使用
print
打印出新定义的范围.使用
plt.xticks
设置x轴刻度:范围是(-1,2);个数是5.
new_ticks = np.linspace(-1, 2, 5)
print(new_ticks)
plt.xticks(new_ticks)
使用plt.yticks
设置y轴刻度以及名称:刻度为[-2, -1.8, -1, 1.22, 3];对应刻度的名称为[‘really bad’,’bad’,’normal’,’good’, ‘really good’].
plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$really\ good$'])
1.4 设置坐标轴2
1.4.1 设置不同名字和位置
使用plt.gca
获取当前坐标轴信息.
使用.spines
设置边框:右侧边框;
使用.set_color
设置边框颜色:默认白色;
使用.spines
设置边框:上边框;
使用.set_color
设置边框颜色:默认白色;
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
1.4.2 调整坐标轴
使用.xaxis.set_ticks_position
设置x坐标刻度数字或名称的位置:bottom
.(所有位置:top
,bottom
,both
,default
,none
)
ax.xaxis.set_ticks_position('bottom')
使用.spines
设置边框:x轴;
使用.set_position
设置边框位置:y=0的位置;
(位置所有属性:outward
,axes
,data
)
ax.spines['bottom'].set_position(('data', 0))
plt.show()
使用.yaxis.set_ticks_position
设置y坐标刻度数字或名称的位置:left
.
(所有位置:left
,right
,both
,default
,none
)
ax.yaxis.set_ticks_position('left')