Source code for seismic.plot.plot_utils
'''
:copyright:
The SeisMIC development team (makus@gfz-potsdam.de).
:license:
EUROPEAN UNION PUBLIC LICENCE v. 1.2
(https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12)
:author:
Peter Makus (makus@gfz-potsdam.de)
Created: Monday, 17th May 2021 12:25:54 pm
Last Modified: Monday, 4th March 2024 02:43:54 pm
'''
import locale
import matplotlib as mpl
import matplotlib.pyplot as plt
[docs]def set_mpl_params():
params = {
# 'font.family': 'Avenir Next',
'pdf.fonttype': 42,
'font.weight': 'bold',
'figure.dpi': 150,
'axes.labelweight': 'bold',
'axes.linewidth': .5,
'axes.labelsize': 13,
'axes.titlesize': 14,
'axes.titleweight': 'bold',
'xtick.labelsize': 13,
'xtick.direction': 'in',
'xtick.top': True, # draw label on the top
'xtick.bottom': True, # draw label on the bottom
'xtick.minor.visible': True,
'xtick.major.top': True, # draw x axis top major ticks
'xtick.major.bottom': True, # draw x axis bottom major ticks
'xtick.minor.top': True, # draw x axis top minor ticks
'xtick.minor.bottom': True, # draw x axis bottom minor ticks
'ytick.labelsize': 13,
'ytick.direction': 'in',
'ytick.left': True, # draw label on the top
'ytick.right': True, # draw label on the bottom
'ytick.minor.visible': True,
'ytick.major.left': True, # draw x axis top major ticks
'ytick.major.right': True, # draw x axis bottom major ticks
'ytick.minor.left': True, # draw x axis top minor ticks
'ytick.minor.right': True, # draw x axis bottom minor ticks
'legend.fancybox': False,
'legend.frameon': False,
'legend.loc': 'upper left',
'legend.numpoints': 2,
'legend.fontsize': 'large',
'legend.framealpha': 1,
'legend.scatterpoints': 3,
'legend.edgecolor': 'inherit'
}
mpl.rcParams.update(params)
# Show dates in English format
try:
locale.setlocale(locale.LC_ALL, "en_GB.utf8")
except locale.Error: # for MAC OS
locale.setlocale(locale.LC_ALL, "en_GB.utf-8")
[docs]def remove_all(
ax: plt.Axes = None, top=False, bottom=False, left=False, right=False,
xticks='none', yticks='none'):
"""Removes all frames and ticks."""
# Get current axis if none given.
if ax is None:
ax = plt.gca()
# Hide the right and top spines
ax.spines['bottom'].set_visible(bottom)
ax.spines['left'].set_visible(left)
ax.spines['right'].set_visible(right)
ax.spines['top'].set_visible(top)
# Only show ticks on the left and bottom spines
ax.yaxis.set_ticks_position(yticks)
ax.xaxis.set_ticks_position(xticks)
# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])
[docs]def remove_topright(ax: plt.Axes = None):
"""Removes top and right border and ticks from input axes."""
# Get current axis if none given.
if ax is None:
ax = plt.gca()
# Hide the right and top spines
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
# Only show ticks on the left and bottom spines
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')