F.K*_*tbi 7 python matplotlib seaborn
所以我有这个数据集显示了以十亿计的国家的 GDP(所以 1 万亿 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)
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我下图:

我想做什么设置垃圾箱范围的人,使它们看起来更像 [250,500,750,1000,2000,5000,10000,20000]。
有没有办法在seaborn中做到这一点?
您可以使用对数箱,它可以很好地处理按您的分布方式分配的数据。这是一个例子:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame()
df['GDP (BILLIONS)'] = 2000*1./(np.random.random(250))
df.sort_values(by='GDP (BILLIONS)',ascending=False, inplace=True)
fig, ax = plt.subplots(1,2,figsize=(8, 3))
sns.distplot(df['GDP (BILLIONS)'].values,bins=8,kde=False,ax=ax[0])
ax[0].set_title('Linear Bins')
LogMin, LogMax = np.log10(df['GDP (BILLIONS)'].min()),np.log10(df['GDP (BILLIONS)'].max())
newBins = np.logspace(LogMin, LogMax,8)
sns.distplot(df['GDP (BILLIONS)'].values,bins=newBins,kde=False,ax=ax[1])
ax[1].set_xscale('log')
ax[1].set_title('Log Bins')
fig.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26461 次 |
| 最近记录: |