【问题标题】:Using Obspy and the Spectrogram function, how can I limit my Y axis使用 Obspy 和 Spectrogram 功能,我如何限制我的 Y 轴
【发布时间】:2021-12-02 08:19:03
【问题描述】:

我正在使用 obspy 来查看一些水声数据,我需要将数据作为频谱图查看。频谱图似乎还可以,但我想在 y=100 标记附近切断我的绘图的顶部(靠近奈奎斯特)。我在弄清楚如何限制 y 轴时遇到了很多麻烦。有人能提供一些见解吗?

我的代码在下面,倒数第二个: fig.axes[0].set_ylim(0,100) 我觉得应该可以,但我收到一条错误消息,提示“列表”对象没有属性“轴”。

import obspy
from obspy.clients.fdsn import Client
from obspy.imaging.spectrogram import spectrogram
client = Client("IRIS")
from obspy import UTCDateTime
import numpy as np
import matplotlib.pyplot as plt



# Retrieve waveform data
t1 = UTCDateTime("2020-02-13T09:02:00.000")
t2 = UTCDateTime("2020-02-13T09:28:00.000")

# get_waveforms expects (network, station, location, channel, start_time, end_time)
# One station/channel
st = client.get_waveforms("IM","H11S1","","EDH",t1,t2)

""" Plot the timeseries waveform """
st.plot()


""" Plot the spectrogram """
fig = st.spectrogram(log=False, dbscale=True, axes=None, title='Spectrogram', cmap='inferno', show=False)
fig.axes[0].set_ylim(0,100)
plt.show()

【问题讨论】:

    标签: python spectrogram obspy


    【解决方案1】:

    我不知道如何设置图形的新 y 轴限制。但是,要截断数据的频率范围,您可以先对数据进行下采样,然后再进行频谱图。有 obspy resample fct (https://docs.obspy.org/packages/autogen/obspy.core.stream.Stream.resample.html) 可以完成这项工作。

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多