How to change figuresize using seaborn factorplot

前端 未结 7 1559
长情又很酷
长情又很酷 2020-11-27 14:19
%pylab inline

import pandas as pd
import numpy as np
import matplotlib as mpl
import seaborn as sns

typessns = pd.DataFrame.from_csv(\'C:/data/testesns.csv\', inde         


        
相关标签:
7条回答
  • 2020-11-27 14:55

    If you just want to scale the figure use the below code:

    import matplotlib.pyplot as plt
    plt.figure(figsize=(8, 6))
    sns.factorplot("MONTH", "VALUE", hue="REGION", data=typessns, kind="box", palette="OrRd"); // OR any plot code
    
    0 讨论(0)
  • 2020-11-27 14:57

    mpl.rc is stored in a global dictionary (see http://matplotlib.org/users/customizing.html). So, if you only want to change the size of one figure (locally), it will do the trick:

    plt.figure(figsize=(45,10))
    sns.factorplot(...)
    

    It worked for me using matplotlib-1.4.3 and seaborn-0.5.1

    0 讨论(0)
  • 2020-11-27 14:58
    import seaborn as sns
    
    sns.set(rc={'figure.figsize':(12.7,8.6)})
    
    plt.figure(figsize=(45,10))
    

    Output

    0 讨论(0)
  • 2020-11-27 15:13

    The size of the figure is controlled by the size and aspect arguments to factorplot. They correspond to the size of each facet ("size" really means "height" and then size * aspect gives the width), so if you are aiming for a particularl size for the whole figure you'll need to work backwards from there.

    0 讨论(0)
  • 2020-11-27 15:15

    Note added in 2019: In modern seaborn versions the size argument has been renamed to height.

    To be a little more concrete:

    %matplotlib inline
    
    import seaborn as sns
    
    exercise = sns.load_dataset("exercise")
    
    # Defaults are size=5, aspect=1
    sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=2, aspect=1)
    sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=4, aspect=1)
    sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=4, aspect=2)
    

    You want to pass in the arguments 'size' or 'aspect' to the sns.factorplot() when constructing your plot.

    Size will change the height, while maintaining the aspect ratio (so it will also also get wider if only size is changed.)

    Aspect will change the width while keeping the height constant.

    The above code should be able to be run locally in an ipython notebook.

    Plot sizes are reduced in these examples to show the effects, and because the plots from the above code were fairly large when saved as png's. This also shows that size/aspect includes the legend in the margin.

    size=2, aspect=1

    size=2, aspect=1

    size=4, aspect=1

    size=4, aspect=1

    size=4, aspect=2

    size=4, aspect=2

    Also, all other useful parameters/arguments and defaults for this plotting function can be viewed with once the 'sns' module is loaded:

    help(sns.factorplot)
    
    0 讨论(0)
  • 2020-11-27 15:16
    1. Do not use %pylab inline, it is deprecated, use %matplotlib inline
    2. The question is not specific to IPython.
    3. use seaborn .set_style function, pass it your rc as second parameter or kwarg.: http://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.set_style.html
    0 讨论(0)
提交回复
热议问题