如何在matplotlib的条形图中按升序对条形进行排序?

要在 matplotlib 的条形图中按升序对条形进行排序,我们可以采取以下步骤 -

  • 设置图形大小并调整子图之间和周围的填充。

  • 制作二维、大小可变、可能异构的表格数据的数据框 df。

  • 向当前图窗添加子图。

  • 使用数据框df制作条形图。

  • 向当前图窗添加子图。

  • 按列标记制作 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()
输出结果

它将产生以下输出

注意右边的条形图。条形按其值的升序排序。