python - 如何更改此条形图上条形的顺序?

标签 python matplotlib seaborn

我正在使用 Seaborn 的计数图函数来绘制 Prosper 评级。

The plot.

用于创建绘图的代码:

plt.figure(figsize = [10, 8])
sb.countplot(data = clean_loan_data, x = 'ProsperRating', color = base_color);
plt.xlabel('Prosper Rating')
plt.ylabel('Count')
plt.title('Prosper Rating Counts');

我想解决的问题是条形的顺序。目前,顺序为 A、D、B、E、C、AA 和 HR。为什么是这样的设定顺序以及如何更改它?需要明确的是,我想移动每个栏及其标签。所需的顺序是 AA、A、B、C、D、E 和 HR。

最佳答案

您可以通过order=参数设置顺序。如果您还想分配单独的颜色,请使用 palette=:

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

ratings = ['AA', 'A', 'B', 'C', 'D', 'E', 'HR']
colors = ['crimson', 'limegreen', 'dodgerblue', 'gold', 'blueviolet', 'darkturquoise', 'fuchsia']
samples = np.repeat(ratings, np.random.randint(10, 100, len(ratings)))
np.random.shuffle(samples)
clean_loan_data = pd.DataFrame({'ProsperRating': samples})

plt.figure(figsize=[10, 8])
sns.countplot(data=clean_loan_data, x='ProsperRating', palette=colors, order=ratings)
plt.xlabel('Prosper Rating')
plt.ylabel('Count')
plt.title('Prosper Rating Counts')
plt.show()

example plot

关于python - 如何更改此条形图上条形的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63473560/

相关文章:

python - Matplotlib 动画迭代 pandas 数据帧列表

python - 如何显示每个Y轴的图表类型以区分比较因素

python - 如何阻止pyplot弹出数字

python - 更改seaborn箱线图线彩虹颜色

python - seaborn.pairplot() 改变每个图形的颜色

python - 如何让 urljoin 在 Python 中按预期工作?

python - 在 Python 中使用随机 x、y 坐标绘制阿基米德螺线

python - 牛顿法 PyTorch 实现中的更新步骤

python - 机械化 : SSL: CERTIFICATE_VERIFY_FAILED

python - 如何创建具有多个子图的带状图