如何在matplotlib中按递增顺序排序条形图中的条形?
要在matplotlib的条形图中按递增顺序对条形进行排序,可以按照以下步骤进行操作:
- 设置图形大小并调整子图之间和周围的填充。
- 创建一个包含二维、大小可变、可能异构的表格数据的数据帧df。
- 向当前图形添加一个子图。
- 使用数据帧df制作一个条形图。
- 向当前图形添加一个子图。
- 创建一个按列marks排序的数据帧df_sorted。
- 使用数据帧df_sorted绘制条形图。
- 使用show()方法显示图形。
例子
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame(
dict(
names=['John', 'James', 'David', 'Gary', 'Watson'],
marks=[23, 34, 30, 19, 20]
)
)
plt.subplot(121)
plt.bar('names', 'marks', data=df, color='red')
plt.subplot(122)
df_sorted = df.sort_values('marks')
plt.bar('names', 'marks', data=df_sorted, color='orange')
plt.show()
输出
将会产生以下输出
请注意右侧的条形图。条形按其值递增顺序排序。