2013-01-04 53 views
0

我正在繪製一個帶有幾行圖形的圖形,並且想要爲每行分配一個將在圖例中顯示的特定標籤。遍歷圖表標籤

這給了相同的標籤在每一行:

import pylab as P 
connection = pymongo.Connection("mongodb://localhost", safe=True) 
db = connection.stuff 
data = stuff.collection 

for i in data.find(): 
    a=[] 
    for element in i["counts"]: 
     a.append(element["total"]) 
    P.plot(a, label="first line") 
    P.legend() 

P.show() 

我有很多數據,我的文檔結構以這種方式:

{name:..., data:..., counts:[{total:...,...},{total:...,...}]} 

我如何可以分配不同的標籤這段代碼中的每一行? 謝謝!

回答

1

如果你想從你的數據的屬性,你可以做這種風格的東西:

for i in data.find(): 
    a=[] 
    somename = i["name"][??]  #maybe you can extract your label from here ? 
    for element in i["counts"]: 
     a.append(element["total"]) 
    P.plot(a, label=somename)  # and use it here 
P.legend() 
P.show() 

此外,你應該叫legend()只有一次所有地塊都完成之後。

雖然不能與你的問題相關,注意,您也可以建立這樣的名單:

for i in data.find(): 
    a = [element['total'] for element in i['counts']] 
    P.plot(a, label=somename) 
P.legend() 
P.show()