From a49deeae1c905a3d67743e9ed39c4e43b8d57135 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Tue, 20 Jun 2023 13:44:33 +0800 Subject: [PATCH] Replot the logo using obspy and matplotlib --- README.md | 3 +-- make_beachball.sh | 10 ---------- make_logo.py | 37 +++++++++++++++++++++++++++++++++++++ make_waveform.sh | 28 ---------------------------- 4 files changed, 38 insertions(+), 40 deletions(-) delete mode 100755 make_beachball.sh create mode 100755 make_logo.py delete mode 100755 make_waveform.sh diff --git a/README.md b/README.md index 354c707..141e84a 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,7 @@ seismo-learn 的 logo 由三部分组成: ## 相关脚本 -- [`make_beachball.sh`](make_beachball.sh): 绘制震源球 -- [`make_waveform.sh`](make_waveform.sh): 绘制 IU.HRV 台记录的南美大地震的波形 +- [`make_logo.py`](make_logo.py): 绘制 logo ## 使用场景 diff --git a/make_beachball.sh b/make_beachball.sh deleted file mode 100755 index dcc2f8d..0000000 --- a/make_beachball.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -# -# Plot the beachball used in the logo -# - -gmt begin beachball pdf -gmt meca -R-5/5/-5/5 -JX10c -Sc10c -M -Ggray -W0p << END -0 0 0 180 18 -88 0 32 -90 5.5 0 0 0 -END -gmt end show diff --git a/make_logo.py b/make_logo.py new file mode 100755 index 0000000..cc8b149 --- /dev/null +++ b/make_logo.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python +import matplotlib.pyplot as plt +from obspy import UTCDateTime +from obspy.clients.fdsn import Client +from obspy.imaging.beachball import beach + +fig, ax = plt.subplots(figsize=(5, 5)) +ax.set_xlim(-0.5, 0.5) +ax.set_ylim(-0.5, 0.5) +ax.set_axis_off() +ax.add_collection( + beach([180, 18, -88], facecolor="gray", linewidth=0, width=1, xy=(0, 0), zorder=0) +) +# ax.text(0, 0, "学", fontsize="xx-large") + +client = Client("IRIS") +starttime = UTCDateTime("2014-04-03T02:43:13.110") + 1000 +endtime = UTCDateTime("2014-04-03T02:43:13.110") + 2400 +st = client.get_waveforms( + network="IU", + station="HRV", + location="00", + channel="BH2", + starttime=starttime, + endtime=endtime, +) +st.filter("bandpass", freqmin=0.005, freqmax=0.01, corners=2) +st.normalize() + +tr = st[0] +ax.plot( + tr.times() / tr.times().max() / 1.2 - 0.4, + tr.data / 4 - 0.2, + color="black", + linewidth=2.5, +) +fig.savefig("logo.pdf") diff --git a/make_waveform.sh b/make_waveform.sh deleted file mode 100755 index 89ea5ef..0000000 --- a/make_waveform.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -# -# Plot the waveform used in the logo -# - -# download SAC data format in .zip bundle for the event -# 20140403T02:43:13.110Z, -20.5709, -70.4931, 22.4, KILOMETER, 7.7, mww -wget -q "https://service.iris.edu/fdsnws/dataselect/1/query?net=IU&sta=HRV&loc=00&cha=BH2&start=2014-04-03T02:43:13.110&end=2014-04-03T03:43:13.110&format=sac.zip" -O IU.HRV.00.BH2.SAC.zip - -# extract and rename SAC data -unzip -q IU.HRV.00.BH2.SAC.zip -mv IU.HRV.00.BH2.M.2014.093.024313.SAC IU.HRV.00.BH2.SAC - -export SAC_DISPLAY_COPYRIGHT=0 -sac << END -r IU.HRV.00.BH2.SAC -bp c 0.005 0.01 -div &1,depmax -w over -q -END - -gmt begin waveform pdf -gmt sac IU.HRV.00.BH2.SAC -JX8c/3c -R1000/2400/-1/1 -W2p,black -gmt end show - -rm IU.HRV.00.BH2.SAC.zip IU.HRV.00.BH2.SAC -