用x轴类别按升序绘制条形图

时间:2019-06-28 09:52:54

标签: python python-3.x matplotlib

如何在Python中按升序绘制x轴类别。

我正在按地区绘制“总销售”分组。该地区是费城,洛杉矶和芝加哥。我希望首先绘制与芝加哥相关的条形图,然后再按升序排列其他区域。

共享下面的数据框和代码

数据框 TEST

代码

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sales = pd.read_csv('C:/Users/varun/Downloads/TEST.csv')
plt.figure(figsize=(15, 8))
ax = sns.countplot(x = 'Region', data = sales)
plt.title('Regionwise Sales')
for p in ax.patches:
        height = p.get_height()
        ax.text(p.get_x()+p.get_width()/2.,height + 0.05,'{:1.2f}%'.format(100*height/float(len(sales))),ha="center")
plt.show()

1 个答案:

答案 0 :(得分:0)

sns.countplot对象的构造函数具有一个x轴顺序的参数,
您可以以字符串数组的形式输入所需的任何顺序。

ax = sns.countplot(x = 'Region', data = sales, order=["CG","PH","LA"])

上面的图片仅使用前10行的数据
希望这会有所帮助!

编辑: 对于问题的第二部分,最好的选择是先对字符串进行排序,然后使用该列表。