草庐IT

javascript - 根据 D3 中的属性值对对象进行排序

我有一组用于D3中的对象,例如varcities=[{city:"London",country:"UnitedKingdom",index:280},{city:"Geneva",country:"Switzerland",index:259},{city:"NewYorkCity",country:"UnitedStates",index:237},{city:"Singapore",country:"Singapore",index:228},{city:"Paris",country:"France",index:219},{city:"SanFrancisco",countr

javascript - D3 转换循环抛出 Uncaught TypeError : t. call is not a function

对D3来说非常新,对JS通常来说相对较新。我试图在点击时创建一个圆圈,这个圆圈一旦创建就需要永远重复跳动。现在,它正在被正确地创建并且它进行了一次转换,但随后它由于错误而死亡。这是我的代码:varshapesAtt=shapes//omitted:assigningfill,position,etc;workingasintended.on("click",circleMouseClick);functioncircleMouseClick(d,i){createPulse(this);}functioncreatePulse(focusElement){//takesin"focal

javascript - 如何向 d3.js 饼图或圆环图添加阴影

我正在使用d3.js制作一个简单的圆环图。我无法实现阴影或框阴影效果来为图表增加一些深度。我试过添加css:path{-moz-box-shadow:3px3px5px6px#ccc;-webkit-box-shadow:3px3px5px6px#ccc;box-shadow:3px3px5px6px#ccc;}到路径标签和g标签,但无济于事。有谁知道这是否可以用CSS或者知道某种wordaround?非常感谢在这样一个基本问题上的帮助。马特vardata=[0,35,65];varw=400,h=400,r=Math.min(w,h)/2,ir=r*0.5,color=d3.scal

javascript - 如何在D3.js中平滑地绘制从起点到终点的路径

我有以下代码根据正弦函数绘制直线路径:vardata=d3.range(40).map(function(i){return{x:i/39,y:(Math.sin(i/3)+2)/4};});varmargin={top:10,right:10,bottom:20,left:40},width=960-margin.left-margin.right,height=500-margin.top-margin.bottom;varx=d3.scale.linear().domain([0,1]).range([0,width]);vary=d3.scale.linear().domain

javascript - 使用 d3 选中/取消选中复选框

我在使用d3选择选中和取消选中复选框时遇到困难。下面的代码似乎不起作用。我希望在按下“选中”时选中所有复选框,在按下“取消选中”时取消选中所有复选框。CheckUncheckfunctioncheckAll(){d3.selectAll('input').attr('checked','true');}functionuncheckAll(){d3.selectAll('input').attr('checked','false');} 最佳答案 使用property()代替attr():functioncheckAll(){d3.

javascript - 如何使用 d3 分类选择将名称作为函数

我正在使用d3classedselections在第一个参数中,我想使用一个函数来返回类名,而不是字符串。selection.classed(name[,value])我知道我可以使用.attr()做同样的事情,如前所述here,但我希望能够使用分类来做同样的事情。我该怎么做? 最佳答案 你在那里提供的类名需要固定,即你不能有类似function(d){returnd;的东西}。如果需要类名由数据决定,需要使用.attr("class",...)。如果您担心覆盖现有的类名,请注意您可以按如下方式检索和添加它们。.attr("clas

javascript - 在 D3 强制布局链接中间显示一个箭头

我正在使用D3绘制力导向图,这与此示例非常相似:http://bl.ocks.org/mbostock/1153292我试图将箭头放在链接的中间而不是末尾。使用标记的attr("refX",0)没有多大帮助,因为它是绝对的而不是相对于链接长度-我的链接有不同的长度。我一直在谷歌搜索,我最好的想法是用link.attr("marker-segment",...)根据此example(寻找图表中间的十字)。但这似乎不起作用..我猜是因为它只是SVG2草稿的一部分,但我的浏览器支持较低版本?(顺便说一句,我使用的是最新版本的Chrome)。如何将箭头放在链接的中间?

javascript - Reveal.js 幻灯片中的 D3.js 代码

我试图让D3.js在Reveal.js幻灯片上运行,但我什至无法让它运行最基本的片段:Titled3.select("#placeholder").append("p").text("TEST");不显示“TEST”字样。我做错了什么? 最佳答案 好的,我们开始吧。我用Reveal.js和D3.js做了一个基本的例子,它运行良好。有两张幻灯片第一张幻灯片包含条形图第二张幻灯片通过从json输入文件中获取数据呈现气泡图如果将代码放在底部部分的外部,您的代码可以正常工作。我已将所有D3.js代码放在html页面的末尾,然后再关闭正文。文

javascript - 将 y 轴上的数字转换为带有 K 的字符串,表示 thousand d3.js

我正在使用d3.js图表绘制y轴和x轴。它工作正常,但你可以说y轴上的值范围是0到10000,我想如果数字大于千,它会随K一起出现。如果数字是1000,它将显示1K,对于15000,它将在y轴上显示刻度15K。该怎么做?我无法为字符串值操纵y.domain和范围函数。vary=d3.scale.linear().range([height,0]);y.domain([0,d3.max(cities,function(c){returnd3.max(c.values,function(v){returnv.count;});})]); 最佳答案

javascript - D3 : Using force layout for word clouds

我正在研究标签可视化,其中标签在不同的力导向布局之间转换。我在弄清楚如何从气泡图过渡到节点图时遇到了一些问题,但我对如何让图表过渡到词云有点困惑。我的困难很大程度上源于我在编写自定义聚类/碰撞检测函数方面缺乏经验。我将力声明为全局变量,然后在用户单击按钮时停止并启动它们:varforce1=d3.layout.force().size([width,height]).charge(0).gravity(0.02).on("tick",ticka);//layoutfornodechartvarforce2=d3.layout.force().size([width,height]).c