草庐IT

javascript - 使文本适合 SVG 元素(使用 D3/JS)

我想在我创建的矩形内写入文本,如下所示:body=d3.select('body')svg=body.append('svg').attr('height',600).attr('width',200)rect=svg.append('rect').transition().duration(500).attr('width',150).attr('height',100).attr('x',40).attr('y',100).style('fill','white').attr('stroke','black')text=svg.append('text').text('Thisis

javascript - D3.js 动画旋转

当我尝试使用D3.js库正确执行旋转动画时遇到问题。问题与我想要旋转元素的点有关。这是我制作的fiddle来展示我的意思(慢动作):http://jsfiddle.net/74mCb/问题的根源似乎在这里:.attr("transform","rotate(-60,150,130)");然后我像这样旋转它:.attr("transform","rotate(40150,130)");我希望针头保持在原位(成为旋转中心),有人可以解释一下我做错了什么吗?谢谢! 最佳答案 这有点难以掌握(我自己并不完全理解)但是D3需要一些帮助来了解如

javascript - d3.js 图中圆圈的随机颜色

这是jsfiddle的链接http://jsfiddle.net/jaimem/RPGPL/2/现在图形中所有的圆圈都显示为红色。是否有一种方法可以在圆圈上显示随机颜色。这是d3.js代码vardata=[{"count":"202","year":"1590"},{"count":"215","year":"1592"},{"count":"179","year":"1593"},{"count":"199","year":"1594"},{"count":"134","year":"1595"},{"count":"176","year":"1596"},{"count":"172

javascript - TinyMCE 显示为 A4

我的网站上有一个TinyMCE编辑器,我希望以A4格式显示可编辑区域(或整个区域)。基本上,我想以与在MSWord中相同的方式查看文档。(宽度、分页符等)这可能吗?请指出正确的方向。 最佳答案 每个人都说这很难,但Google已经在Google文档中做到了(提示:您可以使用GoogleAPI,甚至可以获取文档的PDF版本。我没有这样做,因为我们需要编辑器中的额外功能。)这是我的解决方案:我已将页面调整为A4宽度添加了一个标尺,显示剩余页数(显然不是100%可靠,但接近)。甚至页码!是的!想法:Ruler比尝试显示每个页面要容易得多,

javascript - D3 折线图,不能用序数刻度编辑刻度数吗?

我之前问过一个关于d3的问题,他们建议我使用序数尺度,这会解决我的问题。它确实解决了我的问题,但我知道我遇到了另一个问题......它画得很好,但我的X轴上全是文字。例如,我想要:1900190419081912...但我得到了:190119021903190419051906。如您所见,这还不清楚。(这只是一个例子,如果只有日期我可以使用另一个尺度)。我看到的每个地方都在谈论axis.ticks(number)。但这不起作用。没有任何反应,我仍然得到相同的结果。我破解了一个结果以在x轴上获得更少的结果:varstr=[];vari=0;while(i但如果我这样做,它会创建一条随机线

javascript - svg、d3、dagre、dagre-d3 和 graphlib 如何相互依赖?

我使用dagre绘制有向图,但我想了解svg、d3、dagre和graphlib如何相互依赖?基本上,一个停止,另一个开始。我将尝试指出我在有限的理解下可以收集到的内容。svg:(是一种基于XML的矢量图像格式,但基本上它)是一个html标签,您可以使用它绘制圆形、椭圆形、矩形等,然后使用g元素对两个或多个形状进行分组并应用转换等。d3:d3是一个javascript库,它基本上允许您将数据与svg结合起来。因此,您不必每次都编写svg标签,您基本上可以使用编程、循环、数据等来创建svg代码。现在谈到dagre,dagre-d3和graphlib是我遇到的问题假设我上面说的一切都有意义

javascript - 同一页面上的多个脚本版本 (d3.js)

我需要在同一个页面上有多个版本的javascript库。如果不手动重构一个版本以避免命名冲突,我该如何实现这一目标?关于如何使用Jquery执行此操作的示例很多(example)。然而,这似乎依赖于jQuery的优点。我如何为任意脚本执行此操作?更多细节:我正在使用d3.js,我正在插入其他人使用d3制作的可视化效果。问题是,其中一个可视化项需要一个版本的d3,另一个需要更新的版本。这两个可视化应该在同一页面上可用-用户通过单击缩略图交换显示哪个可视化,然后使用js隐藏一个可视化并构建另一个可视化。因此,似乎交换脚本而不是以无冲突的方式加载两者也是一种选择。

javascript - 如何确保 D3 在 javascript 运行之前完成加载多个 CSV?

我正在使用D3将其他CSV文件列表的CSV加载到javascript中。当我运行以下代码时,employees数组在代码中到达它时仍然是空的。有没有正确的方法来确保D3在javascript继续之前完成加载数据?varemployees=[];//Retrievethefilelistofallthecsvsinthedatadirectory,thenrunacallbackonthemfunctionretrieveList(url,callback){d3.csv(url,function(data){callback(data);})}//Parseafilelist,andt

javascript - d3 javascript中的变量范围

我想使用以下代码获取全局变量中的数据:vardata;d3.json("file.json",function(json){data=json;console.log(data);//defined});console.log(data);//undefined但问题是我只是在d3.json函数中定义了数据变量,但它是未定义的。我该如何解决这个问题?谢谢 最佳答案 因为d3请求(如d3.json)是异步的,所以最好将所有依赖于外部请求的代码包装在请求回调中,确保此代码可以访问数据执行前。FromtheD3docs:"异步加载数据时,

javascript - d3.scaleBand 是如何工作的?

如何从thisexample制作行varx=d3.scale.ordinal().rangeRoundBands([0,width],.05);使用d3.scaleBand在d3v4中工作? 最佳答案 在D34.x中,ordinal.rangeRoundBands已替换为band.rangeRound(因此,不再有rangeRoundBands)。除此之外……Thenewband.padding,band.paddingInnerandband.paddingOutermethodsreplacetheoptionalargumen