matplotlib可视化:基础绘图函数使用【函数功能+案例代码】( 三 )


() 函数以非等分的形式对画布进行切分 , 并按照绘图区域的大小来展示最终绘图结果 。
plt.subplot2grid(shape, location, rowspan, colspan)
参数含义如下:
import matplotlib.pyplot as pltimport numpy as npa1 = plt.subplot2grid((3,3),(0,0),colspan=3)a2 = plt.subplot2grid((3,3),(1,0), rowspan = 2)a3 = plt.subplot2grid((3,3),(1,1),rowspan = 2, colspan = 2)x = np.arange(1,10)a2.plot(x, x*x)a2.set_title('square')a1.plot(x, np.exp(x))a1.set_title('exp')a3.plot(x, np.log(x))a3.set_title('log')plt.tight_layout()plt.show()
2.4 网格设置grid()
grid() 方法可以开启或者关闭画布中的网格(即是否显示网格)以及网格的主/次刻度;设置网格的颜色、线型以及线宽等属性 。
grid(color='b', ls = '-.', lw = 0.25)
示例代码如下:
import matplotlib.pyplot as pltimport numpy as np#数据源x = np.arange(1,11)#创建画布和子图fig,ax=plt.subplots(1,3,figsize=(9,3))#设置子图ax[0].plot(x,x**2,'bo-')ax[0].set_title("y=x^2")ax[0].set_xlabel("x")ax[0].set_ylabel("x^2")ax[0].grid(color='b', ls = '-.', lw = 0.25)ax[1].plot(x,x**3,'rH-.')ax[1].set_title("y=x^3")ax[1].set_xlabel("x")ax[1].set_ylabel("x^3")ax[1].grid(color='k', ls = '-', lw = 0.15)ax[2].plot(x,x*2,'mD:')ax[2].set_title("y=x*2")ax[2].set_xlabel("x")ax[2].set_ylabel("x*2")ax[2].grid(color='r', ls = ':', lw = 0.35)plt.tight_layout()plt.show()
2.5 坐标轴设置 2.5.1 对数刻度设置
在数据范围广的时候 , 往往采用对数刻度 , 代码如下:
ax.xscale("log")或ax.yscale("log")
示例代码
import matplotlib.pyplot as pltimport numpy as np#数据x = np.arange(1,9,1)#创建画布和子图fig, ax = plt.subplots(1, 2, figsize=(10,4))#绘图ax[0].plot(x,x)ax[0].set_title("Normal scale")ax[0].set_xlabel("x axis")ax[0].set_ylabel("y axis")ax[1].set_yscale("log")ax[1].plot(x,x)ax[1].set_title("Logarithmic scale (y)")ax[1].set_xlabel("x axis")ax[1].set_ylabel("y axis")plt.tight_layout()plt.show()
2.5.2 坐标轴颜色 , 线宽设置
通过ax.获取坐标轴字典 , 坐标轴包括4个:上下左右 。可以通过,设置颜色和线宽 。示例代码如下:
fig = plt.figure()ax = fig.add_axes([0.2, 0.2, 0.7, 0.7])ax.spines['bottom'].set_color('red')ax.spines['left'].set_linewidth(2)ax.spines['right'].set_color(None)ax.spines['top'].set_color(None)ax.plot([1, 2, 3, 4, 5])plt.show()
2.5.3 坐标轴范围
通过 , 实现 。
#设置y轴a1.set_ylim(0,10000)#设置x轴a1.set_xlim(0,10)
2.5.4 坐标轴刻度 , 刻度标签
对于坐标轴的刻度 , 通过或实现;对于坐标轴的刻度标签 , 在设置好坐标轴刻度的前提下 , 将标签与刻度一一对应 , 采用或进行设置 。示例代码如下:
#数据x = np.arange(0, math.pi * 2, 0.05)#生成画布对象fig = plt.figure()# 添加绘图区域ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])#绘图ax.plot(x, np.sin(x))#设置x轴标签ax.set_xticks([0, 2, 4, 6])# 设置x轴刻度标签ax.set_xticklabels(['zero', 'two', 'four', 'six'])# 设置y轴刻度ax.set_yticks([-1, 0, 1])plt.show()