海底条形图升序

时间:2020-05-12 18:47:26

标签: python seaborn

你好,我有下面的代码,给我下面的输出Bar graph of average loan amount based on state

plt.figure(figsize=(30,18))
sns.barplot(x='addr_state', y = 'loan_amnt', data=data, ci= None, estimator=mean)
plt.xlabel("State", size=15)
plt.ylabel("Average Loan Amount", size=15)
plt.tight_layout()

我正在尝试使顺序降序,但是每当我运行代码时,我总是收到错误消息,但是我删除了order =降序运行,但顺序不正确。我正在尝试按每个州的平均金额对其进行排序。也有一种方法可以使状态文本以及贷款金额更大。预先谢谢你!

1 个答案:

答案 0 :(得分:1)

据我所知,Seaborn还没有内置的方式来通过汇总金额进行订购。 但是,熊猫可以创建这样一个汇总和排序的列表,然后可以通过Seaborn进行绘制。

import pandas as pd
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt

N = 200
data = pd.DataFrame({'addr_state': np.random.choice(list('abcdefghijklmnopqrst'), N),
                     'loan_amnt': np.random.uniform(1000, 10000, N)})
agg_data = data.groupby('addr_state').aggregate('mean').sort_values('loan_amnt', ascending=False)

plt.figure(figsize=(10, 5))
sns.barplot(x=agg_data.index, y='loan_amnt', data=agg_data)
plt.xlabel("State", size=15)
plt.ylabel("Average Loan Amount", size=15)
plt.tight_layout()
plt.show()

example plot