微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用 Obspy 将频谱图的轴从时间 - 频率更改为时间 - 周期?

如何解决是否可以使用 Obspy 将频谱图的轴从时间 - 频率更改为时间 - 周期?

大家早上好。我有个问题。是否可以使用 obspy - Python 3.x 将频谱图的轴从时间 - 频率更改为时间 - 周期?

附上我的时频频谱图代码

import math
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.colors import ListedColormap
from matplotlib.cm import hsv


from obspy import read
from obspy.core import *
data = np.loadtxt("D:/Typsa/PTAR/espectrograma/3/Prueba1/ch1.txt",usecols=[1])
t1= np.loadtxt("D:/Typsa/PTAR/espectrograma/3/Prueba1/ch1.txt",usecols=[0])


#INPUT
Nombre_evento='Maule (2010) - EW'

#INICIA CODIGO DE GRAFICO
              
sec_after_2k = 0
t = UTCDateTime(2000,1,1) + sec_after_2k
header = {'sampling_rate': 100.0,'starttime': t}
tr = Trace(data,header)


fig = plt.figure(figsize=(7.5,7.5))
ax1 = fig.add_axes([0.15,0.75,0.7,0.2]) #[left bottom width height]
ax2 = fig.add_axes([0.15,0.09,0.58],sharex=ax1) #Comparte_el eje x
ax3 = fig.add_axes([0.87,0.03,0.58])


'''
ax1 = fig.add_axes([0.15,0.1,0.60],0.6])
'''

#plot tiempo-historia
ax1.plot(t1,data,'k')


#Sub - ejes x
major_ticks = np.arange(0,151,20)
minor_ticks = np.arange(0,10)
ax1.set_xticks(major_ticks)
ax1.set_xticks(minor_ticks,minor=True)

#Sub - ejes y
major_ticks = np.arange(-300,301,100)
minor_ticks = np.arange(-300,50)

ax1.set_yticks(major_ticks)
ax1.set_yticks(minor_ticks,minor=True)

ax1.grid(color='lightskyblue',which='minor',alpha=0.08)
ax1.grid(color='skyblue',which='major',alpha=0.15)

#LEYENDA
ax1.legend([Nombre_evento],facecolor="whitesmoke")


##

#plot spectrograma
fig = tr.spectrogram(show=False,axes=ax2,cmap='brg')
#jet_r,gist_stern,hsv_r,twilight_shifted,_r,nipy_spectral_r,jet_r


mappable=ax2.images[0]
plt.colorbar(mappable=mappable,cax=ax3)

#Titulos generales
ax1.set_title('Tiempo - Historia de aceleraciones')
ax2.set_title('Espectrograma')

#Titulos de ejes
ax1.set_ylabel('Aceleración (cm/s2)')
ax2.set_ylabel('Frecuencia (Hz)')
ax2.set_xlabel('Tiempo (s)')

ax1.yaxis.set_label_coords(-0.1,0.5)
ax2.yaxis.set_label_coords(-0.1,0.5)

ax2.set_ylim(0,30)

plt.show()

The time-frequency spectrogram graph is shown here.

我还想将周期轴放在对数刻度上。预先非常感谢您。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。