Python 绘制探地雷达堆叠波形图
探地雷达图像有灰度图和波形图两种表达方式,gprmax 提供了绘制灰度图的工具箱,也可用 python 或 matlab 中 imshow 函数直接绘制灰度图,但是网上一些人绘制的堆叠波形图不够专业,本文分享绘制探地雷达堆叠波形图的方法。
探地雷达堆叠波形图
这是一个管线的探地雷达扫描剖面(B-Scan)  调整彩色为灰色  网上流传的绘制的探地雷达堆叠波形图如下图  向老师请教后,比较标准的绘制方法。  不同幅度的图像。  
python 代码
这里用到 python 的 matplotlib 库里面的 fill_betweenx 函数,用于曲线间填充颜色。
示例代码如下:
for i in range(trace_number):
x = outputdata[:,i]+(i+1)*space_signal
y = np.linspace(0,tw,len(outputdata))
plt.plot(x, y, 'k',linewidth = 0.2)
c = (i+1)*space_signal
plt.fill_betweenx(y, c, x,where=x>c, facecolor = 'black')
plt.xlim(0, space_signal*(trace_number+2))
plt.ylim(0, tw)
# plt.xlabel('trace_number')
plt.ylabel('Time [ns]')
ax = plt.gca()
ax.invert_yaxis()
ax.xaxis.tick_top()
plt.show()
|