Javascript d3图形的响应问题

Javascript d3图形的响应问题,javascript,d3.js,Javascript,D3.js,我的d3图表有一个非常奇怪的问题。如果我从未将窗口放大过初始尺寸,它将非常有效。缩小窗口时图形将缩小,放大窗口时图形将放大。但是,如果我试图放大超过初始大小(当页面第一次加载时),它将不会放大。当页面首次加载时,图形的维度似乎设置了一些最大大小。有人知道是什么导致了这样的事情吗 编辑:我的图形的另一个问题是,在工具提示上有一个鼠标,它显示在鼠标所在的位置,但它总是显示在路径线下方。如何确保它显示在线条上方?您需要使用window.onresize功能,以便增加的区域可供使用。使用“调整大小”事件

我的d3图表有一个非常奇怪的问题。如果我从未将窗口放大过初始尺寸,它将非常有效。缩小窗口时图形将缩小,放大窗口时图形将放大。但是,如果我试图放大超过初始大小(当页面第一次加载时),它将不会放大。当页面首次加载时,图形的维度似乎设置了一些最大大小。有人知道是什么导致了这样的事情吗


编辑:我的图形的另一个问题是,在工具提示上有一个鼠标,它显示在鼠标所在的位置,但它总是显示在路径线下方。如何确保它显示在线条上方?

您需要使用window.onresize功能,以便增加的区域可供使用。使用“调整大小”事件更新刻度的响应d3图表


对于圆,您需要了解如何更新圆的坐标以将圆放置在适当的位置

虽然这绝对不是一个理想或优雅的解决方案,但我确实找到了解决这个问题的方法。我将初始宽度和高度设置为图形有史以来的最大值,然后使用resize函数将图形缩小到正确的大小。图形现在可以调整大小,直到达到非常大的宽度和高度,这是永远无法达到的,所以一切都很好。

我也有同样的问题。我按如下方式初始化图表:

var chart = d3.select(ele[0]).append("svg").attr("class", "chart").attr("height", height).append("g").attr("transform", "translate(15,30)");    
然后,在
$window.onresize
上,我得到一个新的高度和宽度(其中的数据是正确的),并尝试设置它们:

chart.attr("width", width);chart.attr("height", height);    
这是行不通的。你知道为什么吗

编辑:搜索几个小时,什么也找不到,发布问题并找到解决方案。也许这会对某人有所帮助:

我把上面的代码改为

d3.select(ele[0]).selectAll('svg').attr('height',height).attr('width',width);    

因此,我没有使用
图表
调整大小,而是再次选择元素。然后它就起作用了

寻求调试帮助的问题(“此代码为什么不工作?”)必须包括所需的行为、特定的问题或错误,以及在问题本身中重现这些问题所需的最短代码。代码非常长。这是一个很大的图表,做了很多事情。我想这是人们不需要看代码就能知道的东西。如果我错了,我道歉。如果代码太长,你可以上传到其他地方并链接。Github和JSFIDLE都可以帮助实现这一点。标记是正确的,否则我们看不到圆圈代码或调整大小代码哪里出错。我正在使用window.onresize。正如我所说的,只要我的尺寸不超过初始尺寸,我的图形就可以很好地调整大小。另外,我认为工具提示是个错误的词。在距离鼠标最近的数据点的路径上绘制了一个圆。我希望圆显示在路径上方,而现在它显示在路径下方。