我正在将我的d3代码从v3迁移到v4,但在寻找d3.zoom.x、d3.zoom.y属性的等效项时遇到问题。这是代码的一小部分,包括最重要的元素:this.init=function(obj,def){/*X-axis*/x=d3.scaleTime().range([0,width]);xAxis=d3.axisBottom(x).ticks(ticks);svg.append("g").attr("class","xaxis").attr("transform","translate(0,"+height+")");/*Y-axis*/for(vari=0;i我试过用它来代替“zo
我正在尝试根据以下示例向D3v4中的树状图添加缩放行为:1和2.它是用HTML元素而不是SVG构建的,我通过使用百分比而不是像素单位使其响应。到目前为止效果很好,但现在我想通过单击放大到单个单元格,直到到达最后一个子单元格。然后单击将返回到树的根。到目前为止,这是我的代码:http://codepen.io/znak/pen/qapRkQ我正在努力使用V4中可用的缩放功能,它无处不在:functionzoom(d){console.log('clicked:'+d.data.name);x.domain([d.x0,d.x1]);y.domain([d.y0,d.y1]);vart=d
我使用d3js创建了一个树形布局图。节点可单击以切换显示子项。应该将子节点插入到预定义的位置,然后过渡到所需的位置。问题是插入坐标总是关闭的。使用Firebug进行调试时,它显示在添加新节点后,其坐标直接为x=51.42857142857142和y=200.0,即使行.attr("transform","translate(90,100)")应该改变它们(我在这里使用固定值,以进一步确定问题。我的错误在哪里?完整代码://Togglechildren.functiontoggle(d){if(d.children){d._children=d.children;d.children=n
这是我第一次遇到这个问题,不知道为什么。我正在使用d3创建一个iciclechart.有一个点击事件正在触发并调用changePath()。我看到控制台日志,这意味着我确实可以访问$location.path但是当我尝试设置它时没有任何反应:不是新页面,不是错误页面,什么都没有!如果我不通过Angular更改路径,我的路由器将不会保持我正在寻找的范围。有什么线索吗?varparentCtrl=function($scope,$location){$scope.makeBSC=function(){varchangePath=function(el){console.log($locat
我正在尝试使用画笔在d3.js中缩放我的自定义图表,但它没有按应有的方式运行。知道可能出了什么问题这是jsfiddlehttp://fiddle.jshell.net/saurabh_nitc10/od8gfsd3/9/就像这个fiddlehttp://fiddle.jshell.net/CjaD3/1/刷完之后,bars就从yaxis出来了。任何想法现有的fiddle有什么问题。缩放后它的行为不正常。请帮忙。我刚刚更新了fiddle这是我创建的插件。(function($){$.dualAxis={};varxMapObject=[];varsvg='';varfocus='';va
我的代码创建了一个图表并在每个节点上创建了一个轴心点,如果您双击它们,它将获取更多与该节点关联的数据,并有望创建新的链接。现在这是我遇到的问题:我点击了最外面的一个节点,但由于某种原因,新链接被附加到第一个节点(蓝色节点)。知道为什么会这样吗?functiondraw_graph(graph){varcolor=d3.scaleOrdinal(d3.schemeCategory20);varsvg=d3.select("svg"),width=+svg.attr("width"),height=+svg.attr("height"),node,link;svg.append('defs
我正在尝试让动态重新加载在d3中工作,但我在尝试弄清楚如何从数据库中刷新数据时遇到了问题。我有一个数组,其中包含的值应该每秒更改:vardata=[1,2,3,4];在我最初的脚本中,我让PHP从数据库中提取数据来设置数组,重新加载页面可以正常工作,但我想使用d3的重新加载功能来获取新数据并重新绘制图表.我对js和d3完全陌生,所以任何建议都会非常有帮助。我尝试使用jQuery的get命令来调用输出值的外部PHP脚本,但这似乎不起作用。我基本上是在尝试从GoogleAnalytics实时显示中复制条形图。 最佳答案 首先,您需要在服
我用d3.js创建了一些直方图.我设法更改了rect的填充颜色取决于brush的位置.但我想更改rect中的颜色.例如,如果brushstart在rect的中间我想要我的rect有两种颜色。目前这就是我所拥有的:这就是我想要的:我见过一些例子,比如Here.我是d3的新手,我尝试理解代码。我看到他们使用clip-path这肯定会在没有画笔时隐藏背景栏,并在有画笔时显示背景栏,具体取决于画笔的范围。这是一个JSBin更新我已经详细阅读了link中提供的代码.我发现他们不创建制作图表的元素但是barPath喜欢跟随:functionbarPath(groups){varpath=[],i=
更新:IhavecreatedaJSFiddlehere.请用你的答案发布一个更新的fiddle。我有动态过滤器,用户可以将其应用于数据,但它们会更改节点的不透明度以指示过滤入和过滤出的内容(过滤后的“out”元素仍然部分可见,并且未使用实际的d3filter()函数(故意地))。我还在每个被过滤掉的节点上设置了一个属性(例如node={"name":"test","isFilteredOut":true};)。所以就这个问题而言,即使我使用了“过滤器”这个词,它实际上只是一个有条件的样式更改(我会尝试在这篇文章的引号中加上“过滤器”这个词来提醒这一点)。这一切都很好,但现在我想递归地
当执行import{select}from'd3'时,Webpack将在包中包含所有的d3.js,如下面的bundlevisualization.所示这个问题可以通过执行import{select}from'd3-selection'来解决,但这有点违背了自动treeshaking的目的。Treeshaking在我们的非库代码的简单情况下似乎确实有效。我们在.babelrc中使用"modules":false以保留模块语法并在我们的中使用'module'resolvewebpack.config.jsresolve:{mainFields:['module','browser','ma