Setting plot background colour in Seaborn

后端 未结 3 1466
深忆病人
深忆病人 2021-02-05 13:51

I am using Seaborn to plot some data in Pandas.

I am making some very large plots (factorplots).

To see them, I am using some visualisation faciliti

相关标签:
3条回答
  • 2021-02-05 14:12

    In new versions of seaborn you can also use axes_style() and set_style() to quickly set the plot style to one of the predefined styles: darkgrid, whitegrid, dark, white, ticks

    st = axes_style("whitegrid")
    
    set_style("ticks", {"xtick.major.size": 8, "ytick.major.size": 8})
    

    More info in seaborn docs

    0 讨论(0)
  • 2021-02-05 14:17

    I am not familiar with seaborn but the following appears to let you change the background by setting the axes background. It can set any of the ax.set_* elements.

    import seaborn as sns
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    
    m=pd.DataFrame({'x':['1','1','2','2','13','13'],
                    'y':np.random.randn(6)})
    
    facet = sns.factorplot('x','y',data=m)
    
    facet.set(axis_bgcolor='k')
    
    plt.show()
    
    0 讨论(0)
  • 2021-02-05 14:21

    seaborn.set takes and rc argument that accepts a dictionary of valid matplotlib rcparams. So we need to set two things: the axes.facecolor, which is the color of the area where the data are drawn, and the figure.facecolor, which is the everything a part of the figure outside of the axes object.

    (edited with advice from @mwaskom)

    So if you do:

    %matplotlib inline
    import matplotlib.pyplot as plt
    import seaborn
    seaborn.set(rc={'axes.facecolor':'cornflowerblue', 'figure.facecolor':'cornflowerblue'})
    
    fig, ax = plt.subplots()
    

    You get:

    enter image description here

    And that'll work with your FacetGrid as well.

    0 讨论(0)
提交回复
热议问题