1、基础应用
>>> 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() <Figure size 640x480 with 0 Axes> >>> plt.plot(x, y) [<matplotlib.lines.Line2D object at 0x000001E9980C9668>] >>> plt.show()
2、简单的线条
matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.
#使用np.linspace定义x:范围是(-3,3);个数是50. 仿真一维数据组(x ,y1)表示曲线1. 仿真一维数据组(x ,y2)表示曲线2. >>> x = np.linspace(-3, 3, 50) >>> y1 = 2*x + 1 >>> y2 = x**2 >>> plt.figure() <Figure size 640x480 with 0 Axes> >>> plt.plot(x, y1) [<matplotlib.lines.Line2D object at 0x000001E998804EB8>] >>> 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),) <Figure size 800x500 with 0 Axes> >>> plt.plot(x, y2) [<matplotlib.lines.Line2D object at 0x000001C38F43C048>] >>> plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--') [<matplotlib.lines.Line2D object at 0x000001C38F43C208>] >>> plt.show()
3、设置坐标轴
>>> x = np.linspace(-3, 3, 50) >>> y1 = 2*x + 1 >>> y2 = x**2 #使用plt.figure定义一个图像窗口. 使用plt.plot画(x ,y2)曲线. 使用plt.plot画(x ,y1)曲线,曲线的颜色属性(color)为红色;曲线的宽度(linewidth)为1.0;曲线的类型(linestyle)为虚线. >>> plt.figure() <Figure size 640x480 with 0 Axes> >>> plt.plot(x, y2) [<matplotlib.lines.Line2D object at 0x000001C38F2CD5F8>] >>> plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--') [<matplotlib.lines.Line2D object at 0x000001C38F2CD7B8>] #使用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)) (-1, 2) >>> plt.ylim((-2, 3)) (-2, 3) >>> plt.xlabel('I am x') Text(0.5,0,'I am x') >>> plt.ylabel('I am y') Text(0,0.5,'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) [-1. -0.25 0.5 1.25 2. ] >>> plt.xticks(new_ticks) ([<matplotlib.axis.XTick object at 0x000001C38F5ADF60>, <matplotlib.axis.XTick object at 0x000001C38F5ADBA8>, <matplotlib.axis.XTick object at 0x000001C38F5AD320>, <matplotlib.axis.XTick object at 0x000001C38F4BD320>, <matplotlib.axis.XTick object at 0x000001C38F4B44E0>], <a list of 5 Text xticklabel objects>) #使用plt.yticks设置y轴刻度以及名称:刻度为[-2, -1.8, -1, 1.22, 3];对应刻度的名称为[‘really bad’,’bad’,’normal’,’good’, ‘really good’]. 使用plt.show显示图像. >>> plt.yticks([-2, -1.8, -1, 1.22, 3],[r'$really bad$', r'$bad$', r'$normal$', r'$good$', r'$really good$']) ([<matplotlib.axis.YTick object at 0x000001C3832A15F8>, <matplotlib.axis.YTick object at 0x000001C38F5A6B70>, <matplotlib.axis.YTick object at 0x000001C38F5AD240>, <matplotlib.axis.YTick object at 0x000001C38F4B4FD0>, <matplotlib.axis.YTick object at 0x000001C38F4C79E8>], <a list of 5 Text yticklabel objects>) >>> plt.show()
4、设置不同的名字和位置
>>> import matplotlib.pyplot as plt >>> import numpy as np >>> x = np.linspace(-3, 3, 50) >>> y1 = 2*x + 1 >>> y2 = x**2 >>> plt.figure() <Figure size 640x480 with 0 Axes> >>> plt.plot(x, y2) [<matplotlib.lines.Line2D object at 0x000001C38E1099B0>] >>> plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--') [<matplotlib.lines.Line2D object at 0x000001C38E1095C0>] >>> plt.xlim((-1, 2)) (-1, 2) >>> plt.ylim((-2, 3)) (-2, 3) >>> new_ticks = np.linspace(-1, 2, 5) >>> plt.xticks(new_ticks) ([<matplotlib.axis.XTick object at 0x000001C38F2DD860>, <matplotlib.axis.XTick object at 0x000001C3832862E8>, <matplotlib.axis.XTick object at 0x000001C38F47FAC8>, <matplotlib.axis.XTick object at 0x000001C38D91B240>, <matplotlib.axis.XTick object at 0x000001C38D91BCC0>], <a list of 5 Text xticklabel objects>) >>> plt.yticks([-2, -1.8, -1, 1.22, 3],['$really bad$', '$bad$', '$normal$', '$good$', '$really good$']) ([<matplotlib.axis.YTick object at 0x000001C38F4410B8>, <matplotlib.axis.YTick object at 0x000001C38F487AC8>, <matplotlib.axis.YTick object at 0x000001C38F47F0B8>, <matplotlib.axis.YTick object at 0x000001C38B7A2C50>, <matplotlib.axis.YTick object at 0x000001C38B7A2AC8>], <a list of 5 Text yticklabel objects>) #使用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()
5、调整坐标轴
#使用.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)) #使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.(所有位置:left,right,both,default,none) >>> ax.yaxis.set_ticks_position('left') #使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置;(位置所有属性:outward,axes,data) 使用plt.show显示图像. >>> ax.spines['left'].set_position(('data',0)) >>> plt.show()