更改ggplot的默认样式

时间:2017-07-20 09:50:18

标签: python ggplot2 styles decorator

我编写了以下装饰函数来更改为每个绘图任务调用的ggplot的默认样式:

# Style plots (decorator)
def plot_styling(func):
    def wrapper(*args, **kwargs):
        style = {'axes.titlesize' : 24,
                'axes.labelsize' : 20,
                'lines.linewidth' : 3,
                'lines.markersize' : 10,
                'xtick.labelsize' : 16,
                'ytick.labelsize' : 16,
                }
        with plt.style.context((style)):
            ax = func(*args, **kwargs)      
    return wrapper

现在,我想将默认网格颜色从浅灰色更改为白色,网格线更改为灰色。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

查看参考文档here,您可以更改以下内容:

  • panel.background
  • panel.grid.major
  • panel.grid.minor

引用意味着我们将这些属性的值赋给从element_函数返回的值。

  

<强> panel.background = element_rect(fill = "white", colour = "grey50")   Image from reference documents to set the background of a grid to white

要修改装饰器,我会将这些添加到style字典中。

# Style plots (decorator)
def plot_styling(func):
    def wrapper(*args, **kwargs):
        style = {'axes.titlesize': 24,
                 'axes.labelsize': 20,
                 'lines.linewidth': 3,
                 'lines.markersize': 10,
                 'xtick.labelsize': 16,
                 'ytick.labelsize': 16,
                 'panel.background': element_rect(fill="white"),
                 'panel.grid.major': element_line(colour="grey50"),
                 'panel.grid.minor': element_line(colour="grey50")
                }
        with plt.style.context((style)):
            ax = func(*args, **kwargs)      
    return wrapper