2017-08-30 61 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()