如何更改 seaborn barplot 中条形图的顺序
您可以使用以下方法更改海洋图中条形的顺序:
方法 1:对根据原始数据创建的 Barplot 中的条形进行排序
sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df. sort_values (' yvar '). xvar )
方法 2:对根据聚合数据创建的 Barplot 中的条形进行排序
sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df_agg[' xvar ']
以下示例展示了如何在实践中使用每种方法。
示例 1:对根据原始数据创建的 Barplot 中的条形进行排序
假设我们有以下 pandas DataFrame,其中包含有关公司各个员工的总销售额的信息:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' employee ': ['Andy', 'Bert', 'Chad', 'Doug', 'Eric', 'Frank'],
' sales ': [22, 14, 9, 7, 29, 20]})
#view DataFrame
print (df)
employee sales
0 Andy 22
1 Bert 14
2 Chad 9
3 Doug 7
4 Eric 29
5 Frank 20
我们可以使用以下语法创建条形图,其中条形根据销售额按升序排序:
import seaborn as sns #create barplot with bars sorted by sales values ascending sns. barplot (x=' employee ', y=' sales ', data=df, order=df. sort_values (' sales '). employee )
要按降序对条形进行排序,只需在sort_values()函数中使用ascending=False :
import seaborn as sns #create barplot with bars sorted by sales values descending sns. barplot (x=' employee ', y=' sales ', data=df, order=df. sort_values (' sales ', ascending= False ). employee )
示例 2:根据聚合数据创建 Barplot 中的排序条
假设我们有以下 pandas DataFrame,其中包含有关公司各个员工的总销售额的信息:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' employee ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
' sales ': [24, 20, 25, 14, 19, 13, 30, 35, 28]})
#view DataFrame
print (df)
employee sales
0 to 24
1 to 20
2 to 25
3 B 14
4 B 19
5 B 13
6 C 30
7 C 35
8 C 28
我们可以使用以下语法来计算按员工分组的平均销售额:
#calculate mean sales by employee df_agg = df. groupby ([' employee '])[' sales ']. mean (). reset_index (). sort_values (' sales ') #view aggregated data print (df_agg) employee sales 1 B 15.333333 0 to 23.000000 2 C 31.000000
然后,我们可以使用以下语法在seaborn中创建一个条形图,显示每个员工的平均销售额,条形图按升序显示:
import seaborn as sns #create barplot with bars ordered in ascending order by mean sales sns. barplot (x=' employee ', y=' sales ', data=df, order=df_agg[' employee '], errorbar=(' ci ', False ))
X 轴显示员工姓名,Y 轴显示每个员工的平均销售额。
其他资源
以下教程解释了如何在seaborn中执行其他常见功能:
如何在 Seaborn Barplot 上显示值
如何在 Seaborn 中创建分组条形图
如何设置 Seaborn 条形图中条形的颜色