Python 逆时针而不是顺时针取消堆叠多索引数据帧

Python 逆时针而不是顺时针取消堆叠多索引数据帧,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个多索引数据框,看起来像这样: Number of Vulnerabilities Name Severity moderate 2167 Person 1 high 1421 critical 2464 moderate 5841 Person 2 high 3687 critical 10267

我有一个多索引数据框,看起来像这样:

                      Number of Vulnerabilities
Name       Severity
           moderate   2167
Person 1   high       1421
           critical   2464
           moderate   5841
Person 2   high       3687
           critical   10267
我的目标是创建一个水平堆叠条形图,其中的条形图表示严重程度,从左到右的顺序为:中等、高、严重。为了得到一个堆叠的条形图,我似乎需要取消堆叠严重性指数列。当我尝试这样做时,
df.unstack('Severity')
,我的数据帧如下所示:

           Number of Vulnerabilities
Severity   critical  high  moderate
Name
Person 1   2464      1421  2167
Person 2   10267     3687  5841
因此,当我去绘制它时,堆叠的条按顺序排列(L->R):临界、高、中等。
我如何将“严重性”指数的顺序更改为:中等、高、严重?或者,是否有方法在打印时更改顺序,从而无需对数据帧进行进一步操作?

我当前的绘图代码是,
df.plot(kind='barh',stacked=True)

您可以对列重新排序

df = df.unstack('Severity') # This is your current dataframe

df = df['Number of Vulnerabilities'][['moderate', 'high', 'critical']] # reoder
df.plot(kind='barh', stacked=True) #plot

真管用!但是,“漏洞数量”列名称已消失。有没有办法让它在重新订购过程中保持不变?