草庐IT

javascript - Microstrategy 使用可视化作为选择器 D3 服装图表

我正在尝试使用可视化作为D3服装图表上的选择器。我正在按照此处的SDK文档进行操作,但无法使我的示例正常工作。基本上,我通过声明“我”var并启用“用作过滤器”选项来加注星标。varme=this;this.addUseAsFilterMenuItem();然后,在附加desvg元素时,我添加了clear和endselecion方法:varg=d3.select(this.domNode).append("svg").attr("width",width+margin.left+margin.right).attr("height",height+margin.top+margin.b

javascript - D3 中的 Map 函数,对传入的多个函数感到困惑

这个例子来自MikeBostock:https://bl.ocks.org/mbostock/34f08d5e11952a80609169b7917d4172下面这行让我很困惑,我想知道是否有人可以解决这个问题。x.domain(s.map(x2.invert,x2));为什么x2作为第二个参数传入?据我所知,第二个参数是可选的thisArg参数,但是invert不需要它,为什么要传入它?没有它,代码似乎也能正常工作,所以我错过了什么? 最佳答案 这个问题终于可以解决了,因为MikeBostock对GitHub问题做出了谢天谢地的r

javascript - 使用 d3js 将子元素添加到力导向图中的特定节点

我想根据节点类型向我的节点添加不同的子元素。因此,该节点有一个名为type的属性。所有节点都应该由一个g元素和依赖的子元素组成。我通过使用D3sfilter功能尝试了这个,但是我被卡住了,因为我的代码不是每个节点只添加一次子元素,而是多次添加想要的子元素(相同数量因为我有节点)。所以我想我在选择方面做错了什么。我的图表的节点和链接随时间变化,所以我所做的是首先存储选择,当一个节点被添加到self.nodes时,我调用draw函数(我将省略链接代码)。self.domNodes=this.svg.append('g').attr('class','nodes').selectAll('.

javascript - D3 : hide voronoi strokes that fall 'in the sea'

隐藏所有落入海中的voronoi笔划的最“昂贵”的方法是什么?在陆地上运行的笔划(和多边形填充)应该是可见的,而在海上的笔划应该隐藏起来。我想我的目标从下图应该很清楚了:我可以想到两个选项:以某种方式将voronoi多边形“重新剪辑”到基础国家/地区('土地')多边形。这听起来superCPU密集型。这不是一个不错的选择,所以我们不去那里。在voronoi曲面分割之上叠加一个“海”多边形。那在视觉上会非常有效,而且正是我所需要的。我将如何根据国家basemap计算新的海洋多边形?(例如这个jsfiddlewithageoJSOND3map)我有多张多边形复杂程度各不相同的map,因此我

javascript - Firefox 为 d3.js svg 库苦苦挣扎?

我编写了一些d3.j代码,它是svg可视化库,在我的Mint安装中,firefox非常不适合渲染它。是关于我的安装还是一般情况?Hereisaexamplelink对于d3.js示例 最佳答案 快2年过去了,FF里的动画还是FF29的问题。这是一个耻辱。 关于javascript-Firefox为d3.jssvg库苦苦挣扎?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1086

javascript - D3 力导向布局的基础知识

我正在使用d3.js进入令人兴奋的力导向布局世界。我掌握了d3的基础知识,但我无法弄清楚设置力导向布局的基本系统。现在,我正在尝试创建一个简单的布局,其中包含一些漂浮在中心的不相连的气泡。很简单吧!?创建了正确的圆圈,但没有任何反应。编辑:问题似乎是force.nodes()返回初始数据数组。在工作脚本中,force.nodes()返回一个对象数组。这是我的代码:$(function(){varwidth=600,height=400;vardata=[2,5,7,3,4,6,3,6];//createchartvarchart=d3.select('body').append('sv

javascript - 如何以编程方式触发 D3 拖动事件?

所以我有一些数据与拖动事件监听器绑定(bind):myNodes.enter().append("svg:g").call(d3.behavior.drag().on("drag",function(){console.log(d3.event.dx,d3.event.dy);}));现在我想以编程方式在某个节点上调用这个onDrag函数。我确实知道通过做标准事件也是可能的aNode.on("click")()//worksaNode.on("drag")()//doesn'twork有什么办法吗?谢谢。 最佳答案 将回调(您传递给

javascript - d3 似乎假设我知道 csv 的列名?

我有生成的csv文件,我正在尝试将它们加载到d3中以绘制它们。列名是基于数据的,所以我基本上无法提前知道它们。通过测试,如果我知道列的名称,我就能够加载这些数据并将其绘制得很好而且很好......但我不知道我的用例。我如何在d3中处理这个问题?我似乎无法在网上或文档中找到任何帮助/引用此信息的内容。当我从d3.csv登录到控制台数据[0]时,我可以看到有两列和为它们读取的值,但我不知道如何在不知道的情况下任意引用数据的第1列或第2列提前列的名称。一般来说,我想避免这种情况,因为我知道我的时间戳在第1列中,而我的数据在第2列中,如果这有意义的话。编辑,我的答案使用d3.entries来帮

javascript - 在 x 轴上带有范围选择器的 d3 条形图(如 dygraphs)

是否可以在d3中生成条形图并使用类似工具或功能,如dygraphs(this)中的工具或功能用于范围选择器?我想在x轴上放大和缩小时间。谢谢! 最佳答案 是的,您可以使用d3.brush来创建此功能。这是d3的创建者关于如何使用它的示例-这正是您想要的(可缩放条形图):http://bl.ocks.org/mbostock/1667367 关于javascript-在x轴上带有范围选择器的d3条形图(如dygraphs),我们在StackOverflow上找到一个类似的问题:

javascript - D3中不可视化的平行坐标多维数据

我正在使用d3.js处理平行坐标图,我正在尝试从外部json文件中绘制一些多维数据。json文件中的数据结构如下:[{"timestamp":1437571117.035159,"dimension":10,"value":[{"value":0.13347661474528993,"label":"A"},{"value":0.8677079004784608,"label":"B"},{"value":0.7757451827314333,"label":"C"},{"value":0.9614725817942508,"label":"D"},{"value":0.5259754