2017-08-30 65 views
0

一个条形图绘制两个字典我有我想要使用Matplotlib相同的条形图中绘制这两个字典:与Matplotlib

accuracy_pre = {"Random Forest": rf_accuracy_score, "Logistic Regression": log_accuracy_score, "KNN": knn_accuracy_score} 

accuracy_post = {"Random Forest": gs_rf_accuracy_score, "Logistic Regression": gs_logmodel_accuracy_score, "KNN": knn_accuracy_score_iter} 

的字典中的值是整数变量。两个词典都有相同的键,所以总共有6个键,但属于同一个键的键将彼此相邻。 我可以创建两个单独的条形图,但我无法将它们放在一起。有人能帮助我吗?

这是条形图我已经有了代码:

X = np.arange(len(accuracy_pre)) 
plt.bar(X, accuracy_pre.values(), align='center', width=0.5) 
plt.xticks(X, accuracy_pre.keys()) 
plt.title("Accuracy score - before grid search", fontsize=17) 
plt.ylim(0, 1) 
+0

这是一个_histogram_?你的意思是条形图吗? – DyZ

+0

@DYZ是条形图,对不起,我的错误 –

+0

这两个字典都有相同的变量名称。这不可能。其中一个将无法访问。 – DyZ

回答

1

我调整你的代码位,以获得所需的情节。希望这可以帮助!

import numpy as np 
import matplotlib.pyplot as plt 

#sample data 
accuracy_pre = {"Random Forest": 1, "Logistic Regression": 2, "KNN": 3} 
accuracy_post = {"Random Forest": 4, "Logistic Regression": 5, "KNN": 6} 

X = np.arange(len(accuracy_pre)) 
ax = plt.subplot(111) 
ax.bar(X, accuracy_pre.values(), width=0.2, color='b', align='center') 
ax.bar(X-0.2, accuracy_post.values(), width=0.2, color='g', align='center') 
ax.legend(('Pre Accuracy','Post Accuracy')) 
plt.xticks(X, accuracy_pre.keys()) 
plt.title("Accuracy score", fontsize=17) 
plt.show()