欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据可视化——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)

数据可视化——Matplotlib绘图04

上面的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 = '-.')#确定棉棒样式

数据可视化——Matplotlib绘图04

x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='s')#确定棉棒末端样式

数据可视化——Matplotlib绘图04也可以换种样式:

x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='*')#确定棉棒末端样式

数据可视化——Matplotlib绘图04

x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='*',basefmt='--')#确定基线的样式

数据可视化——Matplotlib绘图04

x = np.linspace(0.5,2 * np.pi,20)
y = np.random.randn(20)
plt.stem(x,y,linefmt = '-.',markerfmt='*',basefmt='--',bottom=1)

数据可视化——Matplotlib绘图04

plt.errorbar( ) 绘制误差棒图

# 绘制误差棒图
x = np.linspace(-4,4,10)
y = np.sin(x)
plt.errorbar(x,y,yerr = 0.2,xerr = 0.2)

数据可视化——Matplotlib绘图04误差棒图的函数:
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  #误差棒边界横杠的厚度
            )

数据可视化——Matplotlib绘图04

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])

数据可视化——Matplotlib绘图04

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])

数据可视化——Matplotlib绘图04

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绘图04