This code has been modified from seaborn.rcmod.set_style()
    ::Arguments::
        rcdict (str): dict of "context" properties (filled by set_context())
        theme (str): name of theme to use when setting color properties
        grid (bool): turns off axis grid if False (default: True)
        ticks (bool): removes x,y axis ticks if True (default: False)
        spines (bool): removes axis spines if False (default: True)

def set_style(rcdict, theme=None, grid=True, gridlines=u'-', ticks=False, spines=True):
    """
    This code has been modified from seaborn.rcmod.set_style()
    ::Arguments::
        rcdict (str): dict of "context" properties (filled by set_context())
        theme (str): name of theme to use when setting color properties
        grid (bool): turns off axis grid if False (default: True)
        ticks (bool): removes x,y axis ticks if True (default: False)
        spines (bool): removes axis spines if False (default: True)
    """

    # extract style and color info for theme
    styleMap, clist = get_theme_style(theme)

    # extract style variables
    figureFace = styleMap['figureFace']
    axisFace = styleMap['axisFace']
    textColor = styleMap['textColor']
    edgeColor = styleMap['edgeColor']
    gridColor = styleMap['gridColor']

    if not spines:
        edgeColor = 'none'

    style_dict = {
        'figure.edgecolor': figureFace,
        'figure.facecolor': figureFace,
        'axes.facecolor': axisFace,
        'axes.edgecolor': edgeColor,
        'axes.labelcolor': textColor,
        'axes.grid': grid,
        'grid.linestyle': gridlines,
        'grid.color': gridColor,
        'text.color': textColor,
        'xtick.color': textColor,
        'ytick.color': textColor,
        'patch.edgecolor': axisFace,
        'patch.facecolor': gridColor,
        'savefig.facecolor': figureFace,
        'savefig.edgecolor': figureFace}

    # update rcdict with style params
    rcdict.update(style_dict)

    # Show or hide the axes ticks
    if ticks:
        rcdict.update({
            "xtick.major.size": 6,
            "ytick.major.size": 6,
            "xtick.minor.size": 3,
            "ytick.minor.size": 3})

    base_style.update(rcdict)

    # update matplotlib with rcdict (incl. context, font, & style)
    mpl.rcParams.update(rcdict)

    # update seaborn with rcdict (incl. context, font, & style)
    try:
        import seaborn as sns
        sns.set_style(rc=rcdict)
    except Exception:
        pass

    try:
        from cycler import cycler
        # set color cycle to jt-style color list
        mpl.rcParams['axes.prop_cycle'] = cycler(color=clist)
    except Exception:
        pass

    # replace default blue, green, etc. with jt colors
    for code, color in zip("bgrmyck", clist[:7]):
        rgb = mpl.colors.colorConverter.to_rgb(color)
        mpl.colors.colorConverter.colors[code] = rgb
        mpl.colors.colorConverter.cache[code] = rgb