【问题标题】:Seaborn Bargraph Ascending orderSeaborn 条形图升序
【发布时间】:2020-05-12 18:47:26
【问题描述】:

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

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 它会运行但它不是按顺序排列的。我正在尝试按每个州的平均数量对其进行排序。还有一种方法可以使状态文本以及贷款金额更大。提前谢谢!

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    据我所知,Seaborn 没有内置的方式来通过汇总金额进行订购。 然而,Pandas 可以创建这样一个聚合和排序的列表,然后可以通过 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()
    

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

    sns.barplot(x='addr_state', y='loan_amnt', order=agg_data.index, data=data)
    

    【讨论】:

      猜你喜欢
      • 2018-08-01
      • 2017-10-01
      • 2019-02-18
      • 1970-01-01
      • 2021-07-06
      • 2015-12-08
      • 2017-09-30
      • 2016-12-12
      相关资源
      最近更新 更多