Source code for pygeostat.plotting.set_style

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""Function that alters the matplotlib rc parameters as desired with some predefined styles"""
#-----------------------------------------------------------------------------
# Boilerplate
#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from functools import wraps
import matplotlib as mpl
from matplotlib import pyplot as plt
from ..pygeostat_parameters import PlotStyle


[docs] def set_plot_style(plot_function): """ Applies pygeostat plotting style before plotting function is called based on the provided style name and custom dictionary then retore it back to the original plot style. **Example:** .. code-block:: Python import pygeostat as gs @gs.set_plot_style def coolnewplot(data, griddef, **otherkwargs, plot_style=None, custom_style=None): # plot some things # apply cool formatting return things """ @wraps(plot_function) # Using the wraps for invoking update_wrapper(). This keeps the name and doc string of the original function def wrapper_plot_function(*args, **kwargs): # set the passed style PlotStyle.update_mplrcParams(kwargs.get("plot_style", None), kwargs.get("custom_style", None)) # call the plotting function returnargs = plot_function(*args, **kwargs) # plt.show() # set the style back to whatever the default was PlotStyle.restore_mplrcParams() return returnargs return wrapper_plot_function