草庐IT

javascript - d3 在 mousemove 上创建节点的上下文中插入 vs 追加

在下面的代码中,作者使用.insert将圆定位在矩形“之前”(我相信实际上它们出现在顶部)而不是将它们直接附加到svg空间。我认为这是不必要的,所以删除了rect和.insert并将圆形元素直接附加到svg空间。然而,结果是圆圈“画得不够快”(因为缺乏更明确的解释)。任何人都可以解释为什么这会发生在我身上,或者给我指出一些确实解释它的文献的方向吗?varwidth=Math.max(900,innerWidth),height=Math.max(700,innerHeight)varsvg=d3.select("body").append("svg").attr({"width":wi

javascript - d3.js:访问向下嵌套 2 级的数据

数据结构:vardata=[{name:"male",values:[{count:12345,date:Date2015-xxx,name:"male"},{...}]},{name:"female",values:[{count:6789,date:Date2015-xxx,name:"female"},{...}]}]我想要访问的值是data[a].values[b].count这些值用于为我的绘图绘制圆圈圆图代码:focus.selectAll(".dot").data(data).enter().append("circle").attr("class","dot").att

javascript - 如何/何时将事件监听器附加到d3.js中?

我正在尝试制作各种SVG编辑器。长话短说,我需要将鼠标事件附加到给定SVG中特定深度的元素上。由于各种原因,我无法提前知道ID。SVG非常庞大,将包含数百甚至数千个元素。d3.selectAll("svg>g>g>g").select("g").on("mouseover",function(){console.log("mouseover");}).on("mouseout",function(){console.log("mouseout");}).on("click",function(){console.log("clicked");});该代码有效,但是开始之前需要很长时间。

javascript - 如何设置 d3 符号的大小?

我不知道如何设置我的d3符号的大小:legendRectE.append('path').attr("d",d3.svg.symbol().type((d)=>{returnd[2]})).style("fill",function(d){returnd[1];}).attr('stroke','black');我试过像这样使用.size(),但没有成功:legendRectE.append('path').attr("d",d3.svg.symbol().type((d)=>{returnd[2]})).style("fill",function(d){returnd[1];}).a

javascript - 如何将 D3 JavaScript 中的 'this' 转换为 TypeScript?

我知道JavaScript中的“this”与TypeScript中的含义不同,根据这篇文章'this'inTypeScript.我有以下JavaScript代码,用于在所选节点上创建较粗的笔划,并为所有其他节点提供较小的笔划。node.on('click',function(d){d3.selectAll('circle').attr('stroke-width',1.5);d3.select(this).select('circle').attr('stroke-width',5);})在TypeScript中我有this.node.on('click',(d:any)=>{this

javascript - d3.js 如何向条形图添加线条

我有一个包含4个值的数据集。[ABCD]。目前它们显示在条形图中,每个值一个条。现在,由于值c和d是平均值,我想将它们显示为a和b栏后面的线。d3可以吗?如何在同一个数据数组中切换条形或线形显示?感谢您的帮助。 最佳答案 我在这里发布了一个示例,因为没有一个答案在jsbin或jsfiddle等中提供了带线的条形图的工作示例。http://jsbin.com/gisinomo/1/edit该示例是d3wiki上简单条形图的一个分支。http://bl.ocks.org/mbostock/3885304CSSbody{font:10px

javascript - 是否有检查 js 变量是否是 d3 选择?

我的函数中有一些变量。如果其中第一个是d3选择,我想使用它,否则我想使用默认选择。如何检查变量是否为d3选择? 最佳答案 检查变量sel是否为d3.selection:varisselection=selinstanceofd3.selection; 关于javascript-是否有检查js变量是否是d3选择?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14166000/

javascript - 通过 D3 绘制 HTML 表格不会更新现有数据

我正在使用D3绘制HTML表格,输入时一切正常。当我将新项目添加到我的数据集合时,它会将新项目正确添加到表中。问题是每当我更新集合中的现有对象(下面backgroundJobs集合中的对象)时。当我重新运行D3代码来同步表时,它不起作用。没有任何反应。代码如下:varvisibleColumns=['Name','Start','End','Status','Metadata','Errors'];vartable=d3.select('#jobs').append('table');varthead=table.append('thead');vartbody=table.appen

javascript - 用 d3.js/c3.js 替换图表数据集

DEMOHERE在演示中,我试图卸载所有当前数据集并加载新数据集,如下所示:使用C3.jschart.unload();chart.load({columns:[['data1',130,120,150,140,160],['data2',30,20,50,40,60,50],],});这显然不是处理该过程的正确方法,因为演示显示它无法正常工作。C3教程中说数据集应该这样替换:chart.load({columns:[['data1',130,120,150,140,160],['data2',30,20,50,40,60,50],],unload:['data3','data4','

javascript - 如何用参数做 $state.go() ?

我已经完美地初始化了$stateProvider并且我正在将所有这些状态与ui-sref一起使用。效果很好。用户按下按钮并通过$stateProvider进入编辑页面。在这个页面上,我有一个执行$http请求的表单:this.pushData=function(data){$http.post('/data/'+$stateParams.dataId+'/otherdata',JSON.stringify({id:otherdata.id,name:otherdata.name}),configAuth).then(functionsuccess(response){varaddedD