我正在使用 Seaborn 的计数图函数来绘制 Prosper 评级。
用于创建绘图的代码:
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()
关于python - 如何更改此条形图上条形的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63473560/