Python 使用按其他列排序的值绘制数据框条形图

Python 使用按其他列排序的值绘制数据框条形图,python,pandas,matplotlib,plot,Python,Pandas,Matplotlib,Plot,我有一个熊猫数据框。我想用条形图绘制两列的值,条形图按另一列对值进行排序 例如,我想按列a\u b(列a和b之和)降序排列值。 另外,xlabel是旋转的,我想修复它 谢谢你的帮助 import pandas as pd %matplotlib inline a = pd.Series([4,8,6,7,8,3,9,7]) b = pd.Series([3,6,8,3,4,6,10,4]) a_b = a+b df = pd.concat([a,b,a_b],axis=1,join='inner

我有一个熊猫数据框。我想用条形图绘制两列的值,条形图按另一列对值进行排序

例如,我想按列
a\u b
(列
a
b
之和)降序排列值。 另外,xlabel是旋转的,我想修复它

谢谢你的帮助

import pandas as pd
%matplotlib inline
a = pd.Series([4,8,6,7,8,3,9,7])
b = pd.Series([3,6,8,3,4,6,10,4])
a_b = a+b
df = pd.concat([a,b,a_b],axis=1,join='inner')
df.columns = ['a','b','c']

df[['a','b']].sort_values(by='a',ascending=False).plot(kind='bar',stacked=True)

首先按
c
对数据帧进行排序,然后用绘图

df.sort_values('c', ascending=False)[['a','b']].plot.bar(stacked=True)

在@piRSquared answer中使用
rot=0
修复旋转问题

df.sort_values('c', ascending=False)[['a','b']].plot.bar(stacked=True, rot=0)