Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 965
MicrobicTiger Avatar asked Sep 02 '18 08:09

MicrobicTiger


People also ask

What is the y-axis in Distplot?

ANS-> The y-axis in a density plot is the probability density function for the kernel density estimation.

Is Distplot deprecated?

distplot. This function has been deprecated and will be removed in seaborn v0.


1 Answers

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')

enter image description here

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')

enter image description here

like image 117
fuglede Avatar answered Oct 10 '22 11:10

fuglede