我有一个D3图表,我试图在其中解析内联JSON格式的数组,而不是从外部加载数据。而不是做这样的事情:d3.json("data/tsx.json",function(error,data){data.forEach(function(d){d.dateOrig=d.date;d.date=parseDate(d.date);d.close=+d.close;});我只想像这样解析内联JSON格式的数组:vardata=[{"date":"1-May-13","close":58.13},{"date":"30-Apr-13","close":53.98},{"date":"27-Apr
我正在构建一个允许用户以obj/mtl格式上传3D模型的应用程序。管理员在我们的查看器中显示加载对象的预览。我想为用户提供控件来设置加载对象的初始y位置和相机的初始z位置。我已经解决了相机部分,但我在y位置上没有运气。我的代码:varobj3d;loader.load(model_obj,model_mtl,function(object){object.position.y=y_init;scene.add(object);render();obj3d=object;$('#initial_y').change(function(){obj3d.position.y=$(this).
我试图掌握Donut3D.js->http://plnkr.co/edit/g5kgAPCHMlFWKjljUc3j?p=preview中的功能处理插入的数据:首先,数据的startAngle设置为0度是在哪里设置的?我想将其更改为45º,然后更改为135º、225º和315º(查看上图)。我找到了这个函数:Donut3D.draw=function(id,data,x/*centerx*/,y/*centery*/,rx/*radiusx*/,ry/*radiusy*/,h/*height*/,ir/*innerradius*/){var_data=d3.layout.pie().s
我想用d3在传单map之上实现一个热图层。我有大约2-3k个数据点。我的数据格式如下:[{lat:..,lon:..,value:..},{lat:..,lon:..,value:..},...]理想情况下,我想在基于值的热图和基于点密度的热图之间切换。我还需要能够动态更新数据。从视觉上看,我的目标是这样的:我知道传单有一个coupleofheatmapplugins,两者似乎都不活跃。Heatmap.js最接近我需要的。但是,它似乎没有维护,文档与源代码不一致,而且运行速度太慢。我已经广泛使用d3,如果可能的话,我更愿意将它用于热图层。周围有一两个方block(例如thisone),
我正在尝试创建一个轴函数,其刻度/标签是动态的,这意味着它们会自动隐藏/显示。但最重要的是,我希望在某个缩放级别停止渲染更多刻度/标签。这是一个示例:首先,轴显示年份,然后当您放大时,刻度变为月份,当您进一步放大时,它显示天数(即,12月28日)。除了我想限制d3以便当缩放比月份更远时,它不再呈现任何刻度,因为月份是我想要的最小单位。我有几个例子,如果组合起来就是我想要的,但我不知道该怎么做。此外:我添加了.tickFormat,因为我想显示每个价格变动以具有缩写的月份格式。示例1:http://jsfiddle.net/GGYKL/varxAxis=d3.svg.axis().sca
我知道在D3中,尺度是从输入数据值(域)到输出数据值(范围)的数学映射。我知道我可以设置一个比例尺,将来自域的输入映射到一个范围,如下所示:varscale=d3.scale.linear().domain([100,500]).range([10,350]);scale(100);//Returns10我知道一旦设置了比例,就可以使用它来缩放属性,如下所示:.attr("cx",function(d){returnscale(d[0]);//Returnsscaledvalue})但是,在Bostock的mappingtutorialscale的使用有点不同。无论墨卡托投影返回什么,
我想绘制一些不连续的时间序列数据(周末、节假日等的日期间隔)。这是每日数据。数据看起来像这样:date,value1/2/15,109.331/5/15,106.251/6/15,106.261/7/15,107.751/8/15,111.891/9/15,112.011/12/15,109.251/13/15,110.22...所以我定义了我的x和y比例:varx=d3.time.scale().range([0,width]);vary=d3.scale.linear().range([height,0]);并根据我的源数据设置域:x.domain(d3.extent(data,f
我一直在研究使用D3.js构建的交互式折线图。悬停一次我希望工具提示显示为一条垂直线。垂直线很好,但是,我遇到了与工具提示相关的问题。工具提示位置不在图表上,我只得到第一个数据元素。这是我的代码:margin={top:20,right:20,bottom:20,left:50};varwidth=Math.max(250,Math.min(700,d3.select("#content").width-margin.left-margin.right)),height=500;varvis=d3.select("#line_chart").append("svg").attr("wi
这个圆包布局示例(http://bl.ocks.org/4063269)非常适合我正在处理的项目,但是它会相对于彼此调整所有圆圈的大小:有没有一种简单的方法可以为每个圆指定固定的半径?我已经搜索了源代码、示例、google和stackoverflow,但似乎找不到任何有用的东西。圆的准确大小对我来说很重要。 最佳答案 这是可能的,也是简单的事情。第一个答案是准确的,但我认为我的答案更简单、更明确,所以我也附上它。请看这个例子:jsfiddle当你按下“Constant”按钮时,你会看到这样的东西:关键代码行是这样的:pack.val
我将一些对象添加到Object3D(用于对元素进行分组)并且我正在尝试检测对它的点击。我的场景大小为600x400,我的相机位于三对象内,我的事件处理程序代码如下所示:functiononDocumentMouseDown(event){event.preventDefault();varmouse={};mouse.x=(event.clientX/600)*2-1;mouse.y=-(event.clientY/400)*2+1;varvector=newTHREE.Vector3(mouse.x,mouse.y,1);projector.unprojectVector(vecto