数据可视化——Matplotlib绘图04
程序员文章站
2024-01-14 11:27:28
...
本篇将介绍棉棒图、误差棒图、plt.subplot()子图的绘制
plt.stem() 棉棒图
#棉棒图
x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y)
上面的np.linspace函数:
在规定的时间内,返回固定间隔的数据。它将返回“num”个等间距的样本,在区间[start,stop]中。其中,区间的结束端点可以被排除在外。
np.linspace(start, stop, num=50, endpoint=True, retstep=False,dtype=None)
start:队列的开始值
stop:队列的结束值
num:要生成的样本数,非负数,默认是50
endpoint:若为True,“stop”是最后的样本;否则“stop”将不会被包含。默认为True
retstep:若为False,返回等差数列;否则返回array([samples,step])。默认为False
x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.')#确定棉棒样式
x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='s')#确定棉棒末端样式
也可以换种样式:
x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='*')#确定棉棒末端样式
x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='*',basefmt='--')#确定基线的样式
x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='*',basefmt='--',bottom=1)
plt.errorbar( ) 绘制误差棒图
# 绘制误差棒图
x = np.linspace(-4,4,10)
y = np.sin(x)
plt.errorbar(x,y,yerr = 0.2,xerr = 0.2)
误差棒图的函数:
pyplot.errorbar(x, y, yerr=None, xerr=None, fmt=’’, ecolor=None, elinewidth=None, capsize=None, capthick=None)
主要参数:
x,y: 数据点的位置坐标
xerr,yerr: 数据的误差范围
fmt: 数据点的标记样式以及相互之间连接线样式
ecolor: 误差棒的线条颜色
elinewidth: 误差棒的线条粗细
capsize: 误差棒边界横杠的大小
capthick: 误差棒边界横杠的厚度
ms: 数据点的大小
mfc: 数据点的颜色
mec: 数据点边缘的颜色
# 绘制误差棒图
x = np.linspace(-4,4,10)
y = np.sin(x)
plt.errorbar(x,y,yerr = 0.2,xerr = 0.2,fmt='ro:',#数据点的标记样式和数据点标记的连接样式
ecolor='CornflowerBlue', #误差棒的线条颜色
elinewidth = 5, #误差棒的线条粗细
ms = 10, #数据点的大小
mfc = 'LightPink', #数据点的颜色
mec = 'Coral', #数据点边缘的颜色
capsize=10, #误差棒边界横杠的大小
capthick=5 #误差棒边界横杠的厚度
)
plt.subplot()子图
plt.figure () #窗口
plt.subplot(2,2,1) #左上角的图
#第一个参数代表子图的行数;第二个参数代表该行图像的列数; 第三个参数代表每行的第几个图像。
plt.plot([0,1],[0,1])
plt.subplot(2, 2, 2) #右上角的图
plt.plot([0,1],[1,3])
plt.subplot (223) #左下角的图,其中参数可用逗号分割,也可不用
plt.plot([0,1],[0,4])
plt.subplot (224) #右下角的图
plt.plot([0,1],[0,8])
plt.figure()
plt.subplot(2,1,1)
plt.plot([0,1],[0,1])
plt.subplot(2,3, 4)
plt.plot([0,1],[0,2])
plt.subplot (235)
plt.plot([0,1],[0,3])
plt.subplot (236)
plt.plot([0,1],[0,4])
plt.subplot2grid()
让子区跨越固定的网格布局
ax1 = plt.subplot2grid((3,5),(0,0))
ax2= plt.subplot2grid((3,5),(1,0))
ax3 = plt.subplot2grid((3,3),(0,2),rowspan=3)
ax4 = plt.subplot2grid((3,3),(2,0),colspan=2)
ax5 = plt.subplot2grid((3,3),(0,1),rowspan=2)
上一篇: Matplotlib可视化(1)绘图基础