python - 如何更改此条形图上条形的顺序?
问题描述
我正在使用 Seaborn 的计数绘图功能来绘制 Prosper Ratings。
用于创建绘图的代码:
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()
推荐阅读
- vue.js - VueJS PWA's - 通过 GenerateSW 启用 Workbox “调试”
- angular - 更新时共享变量值未“共享”
- azure-devops - 如何从动态发布中排除部署组目标
- c# - 在 MVC 数据列表中,在 SQL 查询中切换条件的最佳方法是什么
- java - 将 Iterable 与 List 进行比较会引发 NullPointerException
- blazor - Blazor,没有 ID 为“x”的跟踪对象。也许 DotNetObjectReference 实例已经被释放
- python - 在 python 环境中运行 Tesseract 或替代 OCR 模块,无需下载 .exe 文件
- java - 从 WAR 获取实现版本
- r - 在多面 ggplot 中包含特定但可变的因子水平
- c++ - 在线程中使用锁会减慢其他不使用锁的线程吗?