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

matplotlibpythondata visualization

要在 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()

输出

它将产生以下输出

请注意右侧的条形图。条形图按其值的递增顺序排列。


相关文章