.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples\plot_interferogram.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_plot_interferogram.py: Plot an interferogram ===================== .. GENERATED FROM PYTHON SOURCE LINES 7-58 .. code-block:: Python import os if "SPHINX_DOC_BUILD" in os.environ: os.chdir(r"X:\msnoise2") import matplotlib matplotlib.use("agg") import matplotlib.pyplot as plt import numpy as np import pandas as pd from pandas.plotting import register_matplotlib_converters register_matplotlib_converters() plt.style.use("ggplot") from msnoise.api import connect, get_results, build_movstack_datelist, get_params, get_t_axis # connect to the database db = connect() # Obtain a list of dates between ``start_date`` and ``enddate`` start, end, datelist = build_movstack_datelist(db) # Get the list of parameters from the DB: params = get_params(db) # Get the time axis for plotting the CCF: taxis = get_t_axis(db) # Get the results for two station, filter id=1, ZZ component, mov_stack=1 and the results as a 2D array: n, ccfs = get_results(db, "YA.FLR.00", "YA.FOR.00", 1, "ZZ", datelist, 1, format="matrix", params=params) # Convert to a pandas DataFrame object for convenience, and drop empty rows: df = pd.DataFrame(ccfs, index=pd.DatetimeIndex(datelist), columns=taxis) df = df.dropna() # Define the 99% percentile of the data, for visualisation purposes: clim = df.mean(axis="index").quantile(0.99) fig, ax = plt.subplots() plt.pcolormesh(df.columns, df.index.to_pydatetime(), df.values, vmin=-clim, vmax=clim, rasterized=True) plt.colorbar() plt.title("Interferogram") plt.xlabel("Lag Time (s)") plt.ylim(df.index[0],df.index[-1]) plt.xlim(df.columns[0], df.columns[-1]) plt.subplots_adjust(left=0.15) .. rst-class:: sphx-glr-script-out .. code-block:: pytb Traceback (most recent call last): File "C:\Users\thlec\Documents\PYTHON\MSNoise\examples\plot_interferogram.py", line 10, in os.chdir(r"X:\msnoise2") FileNotFoundError: [WinError 3] The system cannot find the path specified: 'X:\\msnoise2' .. GENERATED FROM PYTHON SOURCE LINES 59-60 Running a simple moving window average can be done with pandas's functions: .. GENERATED FROM PYTHON SOURCE LINES 60-76 .. code-block:: Python smooth = df.rolling(5).mean() fig, ax = plt.subplots() plt.pcolormesh(smooth.columns, smooth.index.to_pydatetime(), smooth.values, vmin=-clim, vmax=clim, rasterized=True) plt.colorbar() plt.title("Interferogram (smoothed over 5 days)") plt.xlabel("Lag Time (s)") plt.ylim(smooth.index[0],smooth.index[-1]) plt.xlim(smooth.columns[0], smooth.columns[-1]) plt.subplots_adjust(left=0.15) plt.show() #EOF .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.003 seconds) .. _sphx_glr_download_auto_examples_plot_interferogram.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_interferogram.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_interferogram.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_