Python绘制以距离排序的地震图
2025-10-27 15:15
阅读:1179
如果波形数据都存在st中,st为obspy.Stream对象,距离保存在st[i].stats.distance,那么绘制脚本为
for tr in st:
t = tr.times() + tr.stats.sac.b
x = tr.data
plt.plot(t, x + tr.stats.distance)
如果距离保存在一个数组dist中,且dist与st一一对应,即dist[i]和st[i]同属一个台站,那么绘制脚本为
for d, tr in zip(dist, st):
t = tr.times() + tr.stats.sac.b
x = tr.data
plt.plot(t, x + d)
在绘制这种地震图中,地震波形可能存在互相重叠(振幅太大)或者振幅太弱看不清的情况。这种情况,可对地震数据进行归一化,脚本为
scale = 1.0
for d, tr in zip(dist, st):
t = tr.times() + tr.stats.sac.b
x = tr.data
maxamp = np.abs(x).max()
if maxamp > 0:
x /= maxamp
plt.plot(t, x * scale + d)
归一化后的地震波形最大振幅对应单位距离。利用scale可以进一步增大或减弱振幅。
转载本文请联系原作者获取授权,同时请注明本文来自徐逸鹤科学网博客。
链接地址:https://wap.sciencenet.cn/blog-725052-1507662.html?mobile=1
收藏
当前推荐数:1
推荐人:
推荐到博客首页
网友评论0 条评论