简体   繁体   中英

Set axis maximum with seaborn distplot

Is it possible to set the minimum and maximum displayed limits for seaborn distplots?

I am trying to loop over columns of a pandas dataframe but all my outputs get the same axes.

for v in var_list: 
    df[v].dropna(inplace=True) 
    var=df[v].max()
    vstar = v + "_output.png"
    splot = sns.distplot(df[v])
#    sns.plt.xlim(0, var)
    splot.figure.savefig(vstar)
    splot.autoscale()

I have made a few attempts with sns.plt.xlim() and autoscale() but neither seems to do the trick. What am I missing?

You should be able to get what you want by just using plt.xlim(0, var) directly:

In [24]: np.random.seed(0)

In [25]: data = np.random.randn(1000)

In [26]: sns.distplot(data)
Out[26]: <matplotlib.axes._subplots.AxesSubplot at 0xfa291967f0>

In [27]: plt.savefig('plot1.png')

在此处输入图片说明

In [39]: plt.clf()

In [40]: sns.distplot(data)
Out[40]: <matplotlib.axes._subplots.AxesSubplot at 0xfa291bcd30>

In [41]: plt.xlim(-10, 10)
Out[41]: (-10, 10)

In [42]: plt.savefig('plot2.png')

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM