Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3.js多系列折线图工具提示问题_Javascript_D3.js - Fatal编程技术网

Javascript d3.js多系列折线图工具提示问题

Javascript d3.js多系列折线图工具提示问题,javascript,d3.js,Javascript,D3.js,我有一个关于这个链接示例的工具提示问题在这个示例中,工具提示只显示y轴上的数据,这些数据是华氏度。但在我的项目中,我还希望看到没有显示在x轴和y轴上的数据 在本例中,我根据上面链接中的代码在第84行进行了更改,以生成摄氏度(°C)。如何让工具提示在一个工具提示中同时显示华氏度和摄氏度[参见小提琴][2] 这里我只是想插入一列数据在我的例子中,“摄氏度”不是我可以从y轴上的数据计算出来的。可能是部门名称、id等。 有人知道怎么做吗?感谢您的帮助 工具提示的文本设置在第250-251行: d3.se

我有一个关于这个链接示例的工具提示问题在这个示例中,工具提示只显示y轴上的数据,这些数据是华氏度。但在我的项目中,我还希望看到没有显示在x轴和y轴上的数据

在本例中,我根据上面链接中的代码在第84行进行了更改,以生成摄氏度(°C)。如何让工具提示在一个工具提示中同时显示华氏度和摄氏度<代码>[参见小提琴][2] 这里我只是想插入一列数据在我的例子中,“摄氏度”不是我可以从y轴上的数据计算出来的。可能是部门名称、id等。


有人知道怎么做吗?感谢您的帮助

工具提示的文本设置在第250-251行:

d3.select(this).select('text')
  .text(y.invert(pos.y).toFixed(2));
因此,无论传递到
.text()
方法中的是什么,这些工具提示都会显示出来。要显示这两个温度单位,可以将代码修改为

var fahrenheit = y.invert(pos.y);
var celsius = (fahrenheit - 32) * 5/9;
d3.select(this).select('text')
  .text(fahrenheit.toFixed(1) + "F / " + celsius.toFixed(1) + "c");

谢谢你的回复。我想我的例子不是很好。这里我只是想插入一列数据。在我的例子中,“摄氏度”不是我可以从y轴上的数据计算出来的。可能是部门名称、id等@user6030945答案仍然适用。您不需要计算
摄氏度
而是需要从存储它的任何位置获取额外数据(假设它存储在客户机上的变量中,而不是服务器上的变量中)。如何做到这一点取决于您的具体情况。但是请注意,您可以访问
d
(尝试在第250行插入
console.log(d)
),它可能已经保存了您试图访问的数据。如果没有,也许你可以把数据挂在
d
(通过
newCities
)上,这样你就可以方便地访问它。我把第254行改为t.append('tspan').attr('x','0').attr('y','0.5em').text(d.values[I].y1.toFixed(2)+'C');但当鼠标移动时,摄氏度不会改变。我认为d.之后的[I]值不正确。我不知道怎样才能获得y1里面的值。实际上,我的数据结构与newCities完全相同。对不起,这个简单的问题。谢谢你的帮助@用户6030945而不是
i
,使用上面派生的
idx
<代码>控制台.log(d.values[idx].y1)