release/1.0 #3
@ -19,7 +19,7 @@ from obspy.clients.filesystem.sds import Client
|
|||||||
|
|
||||||
from write_utils import write_html_text, write_html_row, write_html_footer, write_html_header, get_print_title_str, \
|
from write_utils import write_html_text, write_html_row, write_html_footer, write_html_header, get_print_title_str, \
|
||||||
init_html_table, finish_html_table
|
init_html_table, finish_html_table
|
||||||
from utils import get_bg_color, modify_stream_for_plot, annotate_trace_axes
|
from utils import get_bg_color, modify_stream_for_plot, trace_ylabels, trace_yticks
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import smtplib
|
import smtplib
|
||||||
@ -341,7 +341,8 @@ class SurveillanceBot(object):
|
|||||||
try:
|
try:
|
||||||
st = modify_stream_for_plot(st, parameters=self.parameters)
|
st = modify_stream_for_plot(st, parameters=self.parameters)
|
||||||
st.plot(fig=fig, show=False, draw=False, block=False, equal_scale=False, method='full')
|
st.plot(fig=fig, show=False, draw=False, block=False, equal_scale=False, method='full')
|
||||||
annotate_trace_axes(fig, self.parameters, self.verbosity)
|
trace_ylabels(fig, self.parameters, self.verbosity)
|
||||||
|
trace_yticks(fig, self.parameters, self.verbosity)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f'Could not generate plot for {nwst_id}:')
|
print(f'Could not generate plot for {nwst_id}:')
|
||||||
print(traceback.format_exc())
|
print(traceback.format_exc())
|
||||||
@ -349,6 +350,8 @@ class SurveillanceBot(object):
|
|||||||
ax = fig.axes[0]
|
ax = fig.axes[0]
|
||||||
ax.set_title(f'Plot refreshed at (UTC) {UTCDateTime.now().strftime("%Y-%m-%d %H:%M:%S")}. '
|
ax.set_title(f'Plot refreshed at (UTC) {UTCDateTime.now().strftime("%Y-%m-%d %H:%M:%S")}. '
|
||||||
f'Refreshed hourly or on FAIL status.')
|
f'Refreshed hourly or on FAIL status.')
|
||||||
|
for ax in fig.axes:
|
||||||
|
ax.grid(True, alpha=0.1)
|
||||||
fig.savefig(fnout, dpi=150., bbox_inches='tight')
|
fig.savefig(fnout, dpi=150., bbox_inches='tight')
|
||||||
plt.close(fig)
|
plt.close(fig)
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ from obspy import UTCDateTime
|
|||||||
|
|
||||||
from survBot import SurveillanceBot
|
from survBot import SurveillanceBot
|
||||||
from write_utils import *
|
from write_utils import *
|
||||||
from utils import get_bg_color, modify_stream_for_plot, annotate_trace_axes
|
from utils import get_bg_color, modify_stream_for_plot, trace_ylabels, trace_yticks
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from rest_api.utils import get_station_iccid
|
from rest_api.utils import get_station_iccid
|
||||||
@ -316,7 +316,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|||||||
self.plot_widget.setWindowTitle(nwst_id)
|
self.plot_widget.setWindowTitle(nwst_id)
|
||||||
st = modify_stream_for_plot(st, parameters=self.parameters)
|
st = modify_stream_for_plot(st, parameters=self.parameters)
|
||||||
st.plot(equal_scale=False, method='full', block=False, fig=self.plot_widget.canvas.fig)
|
st.plot(equal_scale=False, method='full', block=False, fig=self.plot_widget.canvas.fig)
|
||||||
annotate_trace_axes(fig=self.plot_widget.canvas.fig, parameters=self.parameters)
|
trace_ylabels(fig=self.plot_widget.canvas.fig, parameters=self.parameters)
|
||||||
|
trace_yticks(fig=self.plot_widget.canvas.fig, parameters=self.parameters)
|
||||||
self.plot_widget.show()
|
self.plot_widget.show()
|
||||||
|
|
||||||
def notification(self, text):
|
def notification(self, text):
|
||||||
|
23
utils.py
23
utils.py
@ -104,7 +104,7 @@ def transform_trace(data, transf):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
def annotate_trace_axes(fig, parameters, verbosity=0):
|
def trace_ylabels(fig, parameters, verbosity=0):
|
||||||
"""
|
"""
|
||||||
Adds channel names to y-axis if defined in parameters.
|
Adds channel names to y-axis if defined in parameters.
|
||||||
Can get mixed up if channel order in stream and channel names defined in parameters.yaml differ, but it is
|
Can get mixed up if channel order in stream and channel names defined in parameters.yaml differ, but it is
|
||||||
@ -122,3 +122,24 @@ def annotate_trace_axes(fig, parameters, verbosity=0):
|
|||||||
ax.set_ylabel(channel_name)
|
ax.set_ylabel(channel_name)
|
||||||
|
|
||||||
|
|
||||||
|
def trace_yticks(fig, parameters, verbosity=0):
|
||||||
|
"""
|
||||||
|
Adds channel names to y-axis if defined in parameters.
|
||||||
|
Can get mixed up if channel order in stream and channel names defined in parameters.yaml differ, but it is
|
||||||
|
difficult to assess the correct order from Obspy plotting routing.
|
||||||
|
"""
|
||||||
|
ticks = parameters.get('CHANNEL_TICKS')
|
||||||
|
if not ticks:
|
||||||
|
return
|
||||||
|
if not len(ticks) == len(fig.axes):
|
||||||
|
if verbosity:
|
||||||
|
print('Mismatch in axis tick and label lengths. Not changing plot ticks.')
|
||||||
|
return
|
||||||
|
for ytick_tripple, ax in zip(ticks, fig.axes):
|
||||||
|
if not ytick_tripple:
|
||||||
|
continue
|
||||||
|
ymin, ymax, step = ytick_tripple
|
||||||
|
|
||||||
|
yticks = list(range(ymin, ymax + step, step))
|
||||||
|
ax.set_yticks(yticks)
|
||||||
|
ax.set_ylim(ymin - step, ymax + step)
|
Loading…
Reference in New Issue
Block a user