草庐IT

javascript - 使用 d3.max 在 CSV 列中查找最大值

在D3.js中使用data().enter().append()后,只需使用d.valuename即可检索数据集中的各个列/值。但我想在线性刻度的CSV列中找到最大值。由于比例之前没有任何数据调用,我真的不确定如何指定从中找到最大值的正确列。这是我失败的尝试。我应该用什么替换d.column1?d3.csv("file.csv",function(data){varx=d3.scale.linear().domain([0,d3.max(d.column1)]).range([0,960]);编辑:好的,我通过查看asimilarexample了解了更多信息.我不明白为什么我的代码现在

javascript - D3.js - 在 AJAX 请求期间添加加载通知

我有一个图表需要大量数据,足以完成d3.json()请求大约需要5-10秒。有什么方法可以在AJAX请求期间显示一个很好的老式微调器,或者类似的效果吗?或者,我是否应该只使用jQueryAJAX请求并遵循显示微调器的标准程序(如here所述)。只是好奇是否有人尝试过这个... 最佳答案 我使用spin.js为我的纺纱厂。然后就和你说的差不多了:varspinner=newSpinner(opts);vartarget;$(document).ready(function(){target=document.getElementByI

javascript - 如何使用 d3.js 沿 GeoJSON 路径为对象设置动画?

我正在使用D3.js从GeoJSON文件生成和呈现路径。这工作正常,但现在我想沿着那条路径为一个对象设置动画。我知道如何使用D3和标准SVG来做到这一点:创建一个过渡并设置其持续时间对于转换的每一帧,使用%complete找到沿路径的坐标将对象移动到第2步中找到的坐标这很简单。但我遇到的问题是d3.geo.path()似乎不像标准D3路径对象(例如有用的getPointAtLength()方法)那样返回任何长度或位置数据。所以我无法找到某个点的x、y坐标,比如说,沿着路径的25%。有没有办法获取这些数据?(或者是否有更好的方法,例如将d3.geo.path()转换为常规D3路径?)下面

javascript - 计算 d3 路径中的弧/点

我正在努力找出正确的几何形状来找到沿弧线的路径的中点。可以说我有两点:x1,y1和x2,y2。在如下一行中:x1,y1是A。x2,y2是B。我正在尝试编写一个函数,我可以提供上图中的距离(-1或1)并返回x和y坐标。这样我就可以在路径中添加一个中间点来呈现下面的线:[更新]你必须使用直线的Angular计算出我正在寻找的x和y。下面显示直线是45度,三Angular形的一侧是5,一侧是1。由此,您可以计算出x和y。我想我用下面的代码弄明白了,然后摆弄fiddle示例:varsvgContainer=d3.select("#canvas").append("svg").attr("wid

javascript - 增加我的 D3 树布局的节点之间的差距

如图所示,我试图增加树布局两侧最后节点之间的间隙,因为它们重叠有没有办法在D3中做到这一点?{"name":"","type":"network","children":[{"name":"","type":"lb","children":[{"name":"","type":"mm","id":"app","connServer":"s","size":3938}]},{"name":"","type":"vm","children":[{"name":"","type":"container","children":[{"name":"","type":"appServer","i

javascript - d3.js : non linear graph axis

我正在尝试在轴上添加自定义刻度,如下所示想法是一个刻度总是比前一个刻度大2倍。我的理解是这是自定义比例。我做了一些研究,但找不到类似的东西。所以我想我的问题实际上是两个问题:这个尺度是数学世界的“标准”吗?是否可以使用d3.js来实现?也欢迎任何指向相关教程或现场示例(即jsFiddle)的链接。编辑:我现在问了arelatedquestiononmathematica.stackexchange.comtohelpmefindthesolutiontothisproblem&将在我尝试一些操作后更新这篇文章。 最佳答案 在这种情况

javascript - 在 d3.js 中改变对象的 [[prototype]] 的警告?

我正在使用d3.js进行数据可视化。我收到下图中显示的警告。有谁知道为什么会这样,我该如何解决?错误中显示的消息如下mutatingthe[[Prototype]]ofanobjectwillcauseyourcodetorunveryslowly;insteadcreatetheobjectwiththecorrectinitial[[Prototype]]valueusingObject.create 最佳答案 Doesanyonehavetheideawhyisthishappening看起来是d3的错。他们似乎用它来子类化数

javascript - 使用 D3.min 找到非 0 的最低值

我正在尝试使用D3查找数据集中的最低值。但是,我也有值为0的值,但我希望D3找到不为0的最低值。目前我正在使用:d3.min(data,function(d){returnd.houseValues;})但很明显,当找到0时,有时会返回0。有没有办法做到这一点?或者是使用if语句构建普通for循环以忽略0值的唯一解决方案......?谢谢! 最佳答案 您可以使用常量Infinity,因为Math.min(Infinity,someNumber)总是返回someNumber(除非someNumber也是无穷大)。所以它看起来像这样:s

javascript - d3 可视化数据的最佳实践?

我正在开展一个项目,其中使用d3在散点图中可视化数据点。由于是web应用,区域有限,很多点重叠。总共有20k个点,我允许用户使用画笔(及其范围)放大区域,但即使放大,仍然有大量的点重叠。这种情况的一个例子:有什么好的方法可以使底层点可视化,以增强对点的看法或感知?我在考虑是否可以使用透明度,但我不知道这是否可行。可能值得注意的是,所有点都代表基因,因此就表示而言,对它们进行聚类可能不是很合乎逻辑。 最佳答案 我建议尝试d3的fisheyeplug-in.它允许您使用鼠标缩放和扭曲比例,让您放大区域。您可以在此处的页面下方看到它与散点

javascript - D3.js 结合条形图和折线图

我想通过组合条形图和折线图来创建多系列图表。当我使用rangeBands()设置输出范围时,线从图表中第一个柱的开始处开始绘制,并在最后一个柱的开始处结束。我应该更改什么以使该线从第一个刻度开始并在最后一个刻度结束?vardata=[{date:'1-May-12',close:58.13,open:7.41},{date:'2-May-12',close:53.98,open:45.55},{date:'3-May-12',close:67.00,open:11.78}];varmargin={top:30,right:40,bottom:30,left:50}, width=600