迭代跟踪列表并在一个图形上创建子图(obspy)

2024-05-08 11:15:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我重新格式化了代码形式this thread,以便能够遍历obspy跟踪对象的列表,并在one图中绘制每个跟踪在自己的子图中

奇怪的是,它创建了4个图形,“图4”有四个子图,图3有3个子图,底部一个子图没有绘制,2子图有2个子图,等等

我相信这个问题可能在zip的for循环中,但我对python的语法了解不够,无法解决这个问题。任何帮助都将不胜感激,即使是朝着正确的方向推进

4 subplots

3 subplots

import obspy

st = obspy.read('sac_file.sac') #vertical component
tr = st[0]

index = 0
windowed_tr = []

for windowed in tr.slide(window_length=500, step=100):     
    windowed_tr.append(windowed)

    fig, axes = plt.subplots(nrows=4, ncols=1)

    for tr_, ax in zip(windowed_tr, axes.reshape(-1)):         
        ax.plot(windowed.times(), tr.data, color='k')
        print(tr_)

plt.show()

Tags: 代码infor绘制pltzipaxtr