blazing216的个人博客分享 http://blog.sciencenet.cn/u/blazing216

博文

Python绘制以距离排序的地震图

已有 641 次阅读 2025-10-27 15:15 |个人分类:地球物理相关基础|系统分类:科研笔记

如果波形数据都存在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://blog.sciencenet.cn/blog-725052-1507662.html

上一篇:Python绘制SAC文件
下一篇:如何读一篇英文文献
收藏 IP: 113.55.110.*| 热度|

1 王涛

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2025-12-6 02:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部