2014-05-08 74 views
-1

我有2個清單,我想將它們放在一起在pyplot.bar蟒蛇plt.bar串連錯誤

sorted_ratings2 = ['8,3','8,2','8,2','8,3','8,5','8,4','8,2','8,5', '8,2','8,2'] 

Year = ['1921','1925','1926','1927','1931','1931','1934','1936','1939','1939','1939'] 



plt.bar((Year), (sorted_ratings2) 
plt.suptitle('Ratings based on years', fontsize=14) 
plt.ylabel('Rating', fontsize=12) 
plt.xlabel('Year', fontsize=12) 
plt.show() 


Output: cannot concatenate 'str' and 'float' objects 

我嘗試用plt.bar繪製,但得到這個錯誤。我做錯了什麼?

+0

你'bar'調用缺少一個右括號的鏈接。 – Ffisegydd

+0

我懷疑你的價值觀上的引號。嘗試在「評級」列表中刪除它們......這可能是代碼認爲它是字符串的原因。 – mauve

+0

另外,雖然「8,3」有時用於表示十進制數字(主要在大陸上),但它只會導致您遇到問題節目。你需要使用8.3。 – Ffisegydd

回答

2

Here是我用弄明白

from matplotlib import pylab as plt 
import numpy as np 
sorted_ratings2 = [8.3, 8.2, 8.2, 8.3, 8.5, 8.4, 8.2, 8.5, 8.2, 8.2] 

Years = ['1921', '1925', '1926', '1927', '1931', '1931', '1934', '1936', '1939', '1939'] 

x_pos = np.arange(len(Years)) 


plt.bar(x_pos, sorted_ratings2) 
plt.suptitle('Ratings based on years', fontsize=14) 
plt.xticks(x_pos, Years) 
plt.ylabel('Rating', fontsize=12) 
plt.xlabel('Year', fontsize=12) 
plt.show() 

enter image description here

+0

順便說一句,你的兩個名單是不同的長度 - 一個是10個項目長,另一個是11。 – mauve