首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seaborn Bargraph升序

Seaborn Bargraph升序
EN

Stack Overflow用户
提问于 2020-05-13 02:47:27
回答 1查看 29关注 0票数 0

您好,我有以下代码,它给出了以下输出

代码语言:javascript
复制
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 = descending,它运行了,但它不是按顺序运行的。我正在尝试按每个州的平均数量对其进行排序。此外,还有一种方法可以使状态文本更大,以及贷款金额更大。提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-13 06:46:53

据我所知,Seaborn没有一种内置的方式通过聚合金额订购。然而,熊猫可以创建这样一个聚合和排序的列表,然后可以通过Seaborn绘制出来。

代码语言:javascript
复制
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()

要包括表示置信区间的线条,可以使用排序的聚合数据的顺序从原始数据创建条形图:

代码语言:javascript
复制
sns.barplot(x='addr_state', y='loan_amnt', order=agg_data.index, data=data)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61759649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档