2016-03-11 135 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