2013-03-12 63 views
0

這可能是一件非常簡單的事情,但一直未能弄清楚。我有一個帶有圖例的多線圖。我已經按照下面的格式指定了parameter_id作爲關鍵字。訪問鍵值?

Array[3] 
0: Object 
key: "1" 
values: Array[11] 
0: Object 
client_id: "1" 
dateTimeReceived: "2013-03-12 05:54:10" 
dateTimeTaken: Tue Mar 12 2013 05:53:41 GMT+0000 (GMT Standard Time) 
id: "1" 
inspectionPoint_id: "1" 
parameterType: "Temperature" 
parameter_id: "1" 
reading: 2.1 
testSourceLocationDescription: "test source" 
testSourceLocationLatitude: "53.000000000000000" 
testSourceLocationLongitude: "-7.000000000000000" 
testSourceLowerLimit: "4" 
testSourceUpperLimit: "25" 
testSource_id: "1" 
unitMeasurement: "°C" 
__proto__: Object 

我的問題是,明明傳說文本顯示的ID - 但我想它顯示的參數類型。我是否需要將parameterType指定爲第二個鍵(如果可能,請避免此操作),還是有任何方法可以訪問此值?

PS - 我最初使用parameterType作爲鍵,但元素在更新時未被正確綁定。

+0

你是如何生成的圖形? – 2013-03-12 13:40:46

+0

這裏 - https://gist.github.com/Majella/ab32fe0151fd487da3f6 – Newbie 2013-03-12 14:43:21

+0

你有沒有嘗試改變legend.append('文本')下的文本「.text(function(d){return d.key;}) 「to」.text(function(d){return d.parmae​​terType;})「 – 2013-03-12 14:50:13

回答

0

只需在您的要點從

.text(function(d){ return d.key; }) 

改線72

.text(function(d){ return d.values[0].parameterType; }) 
+0

謝謝,但我已經嘗試過,並且在更改爲d.parameterType時不顯示任何文本 – Newbie 2013-03-12 15:54:17

+0

好了,不再理解你的問題了。代碼對我來說工作正常 - 請參閱[這裏](http://jsfiddle.net/rgsbY/)。 – 2013-03-12 16:13:57

+0

如上所述,當我之前將參數key改變爲參數類型時,數據在更新時未被正確綁定 - 每次更新時線都跳過,這就是爲什麼我將數據綁定到一個id的原因。在你的例子中,它不僅僅是你已經改變爲parameterType的文本函數,而是關鍵字 - 當圖形是靜態的時候工作,而不是在更新時工作。 – Newbie 2013-03-12 16:24:08