2015-12-02 19 views
-1

希望有人可以幫助訪問列表中的單個項目。從條形圖列表中獲取項目matplotlib

我正在嘗試創建一個簡單的條形圖,從csv文件中計算用戶輸入列的頻率。

這很好,我可以顯示一個條形圖很好,但我似乎無法理解如何安排數據沿x軸上升/下降。我有代碼:

import matplotlib.pyplot as pl 
import numpy as np 
import sys 
import csv 
from collections import Counter 
import numpy as np 
from operator import itemgetter 

filename = sys.argv[1] 

data = [] 

with open(filename) as f: 
    reader = csv.reader(f) 
    header = reader.next() 
    header = [head.replace(" ", "_").lower() for head in header] 
    data = [row for row in reader] 

for field in header: 
    print field 

header_name = raw_input("Select field from above: ") 
column_no = header.index(header_name) 

empty = [] 

for datarow in data: 
    empty.append(datarow[column_no]) 

counted = Counter(empty) 
sorted_counted = sorted(counted.items(), key=itemgetter(0)) 

print sorted_counted 

它得到我有項目的排序列表的觀點: [( 'AK',6),( 'AR',1),( 'AZ',9) ,('CA',72),('CO',8),('CT',5),('DC',1),('FL',28), '''',4),('''',1),('''',4),('''',15), '',1),('LA',9),('MA',12),('MD',17),('ME',3), ('''',4),('''',1),(''''',1), ,('NH',1),('NJ',52),('NM',2),('NV',2) '''',1),('''',6),('''''',29),('''',5), '',10),('TX',32),('UT',1),('VA',7),('WA',8), 3)]

因爲我無法排序t他字典「數」。

那麼我的計劃是把所有的狀態指示符「CO」「CT」「DC」等放在一個列表中,並把所有的數值放在另一個列表中。 從那時起,我可以在圖表上繪製這兩個列表,並且應該按字母順序排列狀態名稱。

有可能是一個更簡單的方法來做到這一點,如果這樣會很好聽。謝謝。

回答

0

好吧,讓它按我想要的方式工作。

這是一個需要拆分並且不知道zip命令的元組列表。所以現在我有兩個單獨的列表,但相關的數據位置。