如何绘制我想按值排序的字典?

How to plot a dictionary that I want to sort by values?

我有以下字典,model_dict

zip_iterator = zip(classifier_names, model_scores) 
model_dict = dict(zip_iterator)

model_dict

{'AdaBoostClassifier()': 0.8101063257934118,
 'DecisionTreeClassifier()': 0.7317264413290904,
 'GradientBoostingClassifier()': 0.8080247842665061,
 'KNeighborsClassifier()': 0.7572879934634902,
 'RandomForestClassifier()': 0.7962904231530059,
 'SVC()': 0.8025361228175797}

我如何绘制这本字典,在 x 轴上显示算法,在 y 轴上根据分数从最低到最高显示分数,并将 x-ticks 作为相应的算法?

前景应该是这样的,但是算法从低到高排序:

我使用以下非常简单的代码来创建情节:

plt.plot(classifier_names, model_scores)
plt.xlabel('Classifier Algorithms')
plt.xticks(classifier_names, rotation=45) 
plt.ylabel('Cross-Validated Accuracy')

降序排列(从大到大):

sorted_dict_descending = dict(sorted(model_dict.items(),key=lambda x:x[1], reverse=True))

升序排序(从小到大):

sorted_dict_ascending = dict(sorted(model_dict.items(),key=lambda x:x[1]))

我好像无法标记为重复,但可以找到另一个答案here。对降序的单行理解(从大到大):

sorted_dict = {k: v for k, v in sorted(model_dict.items(), key=lambda item: item[1], reverse=True)}

以及对升序的单行理解(从小到大):

sorted_dict = {k: v for k, v in sorted(model_dict.items(), key=lambda item: item[1])}