2016-03-11 132 views
-2

請找到代碼來生成代碼不工作

<style> 
text.shadow { 
stroke: #fff; 
stroke-width: 2.5px; 
opacity: 0.9; 
} 

我有代碼連接應顯示

+0

你能檢查你的代碼嗎?它有語法問題,你正在使用未在給定代碼中定義的變量,例如'newDataArray'?在SO上發佈時,請嘗試發佈可由其他人運行的代碼以查找錯誤。 – Ankit

+0

你喜歡附上你的CSS,我做了一個小提琴,但它需要造型 – thatOneGuy

+0

現在它工作:https://jsfiddle.net/reko91/o5kwgb7x/1/有沒有更多的CSS? – thatOneGuy

回答

0

您需要使用正確的數據。您有此功能:

function mousemove() { 
     var x0 = x.invert(d3.mouse(this)[0]), 
      i = bisectDate(data, x0, 1), 
      d0 = newDataArray[i - 1], 
      d1 = newDataArray[i], 
      d = x0 - d0.i > d1.i - x0 ? d1 : d0; 
     focus.attr("transform", "translate(" + x(d.i) + "," + y(d.fit) + ")"); 
     focus.select("text").text(Math.floor(d.fit)); 
     } 

在線3上,您正在使用datadata在哪裏?應該是newDataArray對不對?

另外,這應該出現在控制檯日誌中,您是否在開發時閱讀控制檯日誌?

權,你有這樣的功能:

function mousemove() { 
      var x0 = x.invert(d3.mouse(this)[0]), 
       i = bisectDate(data, x0, 1), 
       d0 = newDataArray[i-1], 
       d1 = newDataArray[i], 
       d = x0 - d0.i > d1.i - x0 ? d1 : d0; 
      focus.attr("transform", "translate(" + x(d.i) + "," + y(d.fit) + ")"); 
      focus.select("text").text(Math.floor(d.fit)); 
     } 

這將不會運行在所有。您正在將d.id.fit傳遞給xy軸。什麼是d.i?它不存在於您的數據中。

我已經把這個小提琴:https://jsfiddle.net/reko91/o5kwgb7x/3/

mousemove功能不會工作作爲您沒有轉化對焦(圈子)正確。什麼是d.i?你需要做的是通過它你在這種情況下使用什麼作爲Y軸,所以,d.fit像這樣:在y

d = x0 - d0.fit > d1.fit - x0 ? d1 : d0; 

然後你翻譯它,在x d.uprd.fit 。全鼠標移動功能:

function mousemove() { 
    var x0 = x.invert(d3.mouse(this)[0]), 
    i = bisectDate(newDataArray, x0, 1), 
    d0 = newDataArray[i - 1], 
    d1 = newDataArray[i], 
    d = x0 - d0.fit > d1.fit - x0 ? d1 : d0; 

    focus.attr("transform", "translate(" + x(d.upr) + "," + y(d.fit) + ")"); 
    focus.select("text").text(Math.floor(d.fit)); 
} 

更新小提琴:https://jsfiddle.net/reko91/o5kwgb7x/5/

我認爲你從這裏得到了例如:http://bl.ocks.org/mbostock/3902569

這裏是如何工作的崩潰。閱讀並理解它在做更多事情之前所做的事情。最好理解它,否則你會卡住。提示:使用控制檯日誌!

+0

但是這仍然不起作用。我會試着找到問題,是否有更多的CSS呢? – thatOneGuy

+0

我編輯了我的問題,你的代碼中有一些錯誤,我不知道你爲什麼把它們放在那裏。你只是從一個例子中複製?你通過控制檯進行調試嗎? – thatOneGuy

+0

顯然它沒有記錄一個錯誤,因爲我已經通過它的一個實際價值。我通過了'我',這是1,所以它總是會是1.這就表明了這一點。 – thatOneGuy