subplot(C,R,P),表示在C行R列的网格布局上,子区subplot()会被放置到第p个位置上。子区编号从1开始,起始于左上角,序号一次向右递增。subplot(2,3,4)是第二行的第一个子区。
1.函数subplot()的使用方法
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
x = np.linspace(-2*np.pi,2*np.pi,200)
y = np.sin(x)
y1 = np.cos(x)
# set figure #1
plt.subplot(121)
plt.plot(x,y)
# set figure #2
plt.subplot(122)
plt.plot(x,y1)
plt.show()
2.在极坐标轴上绘制折线图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
radii = np.linspace(0,1,100)
theta = 2*np.pi*radii
ax = plt.subplot(111,polar=True)
ax.plot(theta,radii,color="r",linestyle="-",linewidth=2)
plt.show()
通过调用函数subplot()获得坐标轴实例ax,使用面向对象调用实例方法的技术完成在极坐标轴上绘制折线图任务,其中极径和极角作为折线图的数量参数,同时依然可以设置线形、颜色和线宽等属性。
3.在极坐标轴上绘制散点图
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
radii = 30*np.random.rand(100)
theta = 2*np.pi*np.random.rand(100)
colors = np.random.rand(100)
size = 50*radii
ax=plt.subplot(111,polar=True)
ax.scatter(theta,radii,s=size,c=colors,cmap=mpl.cm.PuOr,marker="*")
plt.show()
关于标记颜色的设定,使用了颜色映射表“PuOr”为标记着色
4.在非等分画布的绘图区域上实现图形展示
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
fig = plt.figure()
x = np.linspace(0.0,2*np.pi)
y = np.cos(x)*np.sin(x)
ax1 = fig.add_subplot(121)
ax1.margins(0.03)
ax1.plot(x,y,ls="-",lw=2,color="b")
ax2 = fig.add_subplot(222)
ax2.margins(0.7,0.7)
ax2.plot(x,y,ls="-",lw=2,color="r")
ax3 = fig.add_subplot(224)
ax3.margins(x=0.1,y=0.3)
ax3.plot(x,y,ls="-",lw=2,color="g")
plt.show()
实例方法margins(m)可以设置数据范围的空白区域,也就是说,m倍的数据区间会被添加到原来数据区间的两端,数据范围的空白区域的调整类型包括x轴,也包括y轴的数据区间,参数m的取值范围是大于-0.5的任意浮点数。