gpt4 book ai didi

python - Seaborn 条形图按条形长度排序

转载 作者:行者123 更新时间:2023-12-01 02:53:43 25 4
gpt4 key购买 nike

我正在尝试使用seaborn绘制条形图。

k= 'all'
k_best = SelectKBest(k=k)
k_best=k_best.fit(features, labels)
features_k=k_best.transform(features)
scores = k_best.scores_ # extract scores attribute
pairs = zip(features_list[1:], scores) # zip with features_list
pairs= sorted(pairs, key=lambda x: x[1], reverse= True) # sort tuples in descending order
print pairs

#Bar plot of features and its scores
sns.set(style="white")
ax = sns.barplot(x=features_list[1:], y=scores)
plt.ylabel('SelectKBest Feature Scores')
plt.xticks(rotation=90)

我的情节是这样的 enter image description here

我希望条形图按降序排序。Exercised_stock_options 的最高值位于左侧,然后是total_stock_value,依此类推。

请帮忙。谢谢

最佳答案

两条线

pairs = zip(features_list[1:], scores) # zip with features_list
pairs= sorted(pairs, key=lambda x: x[1], reverse= True)

已经为您提供了一个元组列表,按scores值排序。现在你只需要把它解压到两个列表中,就可以绘制它们了。

newx, newy = zip(*pairs)
sns.barplot(x=newx, y=newy)

完整的工作示例:

import seaborn.apionly as sns
import matplotlib.pyplot as plt

x = ["z","g","o"]
y = [5,7,4]

pairs = zip(x, y)
pairs= sorted(pairs, key=lambda x: x[1], reverse= True)

newx, newy = zip(*pairs)
ax = sns.barplot(x=newx, y=newy)

plt.show()

enter image description here

关于python - Seaborn 条形图按条形长度排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44451467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com