Seaborn: Setting a distplot bin range?

Viewed 35774

So I have this data set showing the GDP of countries in billions (so 1 trillion gdp = 1000).

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.read_csv('2014_World_GDP')
df.sort('GDP (BILLIONS)',ascending=False, inplace=True)
sorted = df['GDP (BILLIONS)']

fig, ax = plt.subplots(figsize=(12, 8))
sns.distplot(sorted,bins=8,kde=False,ax=ax)

The above code give me the following figure: image

What I want to do whoever is set the bins range so they look more like [250,500,750,1000,2000,5000,10000,20000].

Is there a way to do that in seaborn?

2 Answers

You could just put your bin range as a sequence, in your case that would be:

sns.distplot(df['GDP (BILLIONS)'].values,
             bins=[250,500,750,1000,2000,5000,10000,20000],
             kde=False,ax=ax[0])

However, doing this alone won't change the x-axis scale, you would need the set scale lines in Robbie's answer to do that.

Related