草庐IT

javascript - D3.js 图表 : Labels (<text> Tags) Not Showing On IE11

我有一个堆积条形图,其标签不会在IE上显示,但会在Chrome和Firefox上显示。我在堆叠条形图上的标签是轴和图例的一部分。这是页面加载时的样子。图表的文本实际上确实加载了,但只有在我与之交互之后。如果我执行以下任何操作...单击/右键单击图表上的任意位置将鼠标悬停在一个栏上(这会触发我设置的工具提示出现)调整窗口大小...图例和轴上的图表标签均出现。我正在使用viewbox,这可能是这里的问题,因为我知道当将viewbox和IE放在同一个锅中时会发生一些黑魔法。编辑:在我看来,这是一个预先存在的问题。参见here和here.更新:我不得不更改它在页面上的放置位置(我没有编辑CSS

javascript - D3.js - JSON 数据数组将相同的数组元素绑定(bind)到所有内容

我正在加载一个包含对象数组的GeoJSON数据文件,每个对象都包含不同国家轮廓的矢量信息。相同的数组元素被绑定(bind)到每个DOM元素。我之前在JavaScript中遇到过这个范围问题,但我所做的每一次更改都没有导致任何加载。我附上了jsfiddle.我使用了一个示例数据文件,它似乎需要几秒钟才能加载。我在jsfiddle中的代码如下所示:$(document).ready(function(){d3.json("https://raw.githubusercontent.com/datasets/geo-boundaries-world-110m/master/countries

javascript - d3.js - 如何自动计算径向树状图中的弧长

我正在创建MikeBostock的分层边缘捆绑图的修改版本:http://mbostock.github.com/d3/talk/20111116/bundle.html但我想制作跨越特定数据组的弧线,如下所示:我目前只是对弧的长度进行硬编码,但我想动态地进行。我怎样才能做到这一点?这是我当前的代码:/*MH-USERDEFINEDVARIABLES*/varchartConfig={"Tension":.85,"canvasSize":800,"dataFile":"../data/projects.json","linePadding":160,"textPadding":30,"

javascript - 创建后获取 d3.js SVG 文本元素的宽度

我正在尝试获取我用d3.js创建的一堆text元素的宽度这就是我创建它们的方式:varnodesText=svg.selectAll("text").data(dataset).enter().append("text").text(function(d){returnd.name;}).attr("x",function(d,i){returni*(w/dataset.length);}).attr("y",function(d){return45;});然后我使用宽度创建与text的框大小相同的rectanglesvarnodes=svg.selectAll("rect").dat

javascript - D3 : Is it possible to zoom+pan one axis and only pan the other?

我有x轴的缩放和平移功能,但我想为y轴添加平移功能。我尝试使用d3.behavior.zoom和d3.event.translate[1]来获取y平移值并使用它,但是当缩放发生时平移值会发生变化,而单击拖动确实会平移y轴,缩放也会平移y轴(以一种非直观的方式)。我还尝试使用两个d3.behavior.zoom实例,一个用于x轴,一个用于y轴,但只有最后添加的一个在缩放事件中被调用。这是一个适用于在x方向缩放和平移的示例,我也想添加y平移(但不是y缩放):varx=d3.scale.linear().domain([0,800]).range([0,800]);vary=d3.scale

javascript - 如何在 d3.js/JavaScript 中将零值添加到时间序列中

这是我以前使用php或(我认为是)不必要的复杂MySQL查询解决的问题,但我突然认为在JavaScript/d3.js中必须有更优雅的解决方案。假设我有一个日期和值的数据集,我想将其转换为d3.js中的条形图。date,value2013-01,532013-02,1652013-03,2692013-04,3442013-05,3762013-06,4102013-07,4212013-09,3762013-10,3592013-11,3922013-12,4332014-01,4552014-02,478您会注意到数据中没有第8个月(8月)的条目。假设8月是零值,最终结果是生成的条

javascript - 如何在 d3 文本函数中返回 html?

我希望能够像这样从文本函数返回html:textEnter.append("tspan").attr("x",0).text(function(d,i){return'sometext'+''+d.someProp;})尝试使用,但没有用。我如何实现这一点? 最佳答案 编辑后的答案刚刚注意到您在这里使用的是tspan。不幸的是,您不能在svg文本元素中插入换行符。使用SVG的多行文本需要您自己分解文本,然后通过设置dy属性对其进行布局。D3使布局过程非常简单,但仍然需要额外的工作。此处介绍段落中的更多信息:http://www.w3

javascript - 在 d3 中使用箭头函数

这可能吗?我不确定,因为d3大量使用this重新绑定(bind),这似乎与ES6spec冲突.例如,以下工作正常://Workingfinevardata=[1,2,3]varsvg=d3.select('body').append('svg').attr('height',500).attr('width',500).style('background-color','orange');vargs=svg.selectAll('g').data(data).enter();gs.append('circle').attr('cx',function(){returnMath.rand

javascript - 为什么我们需要 force.on ('tick' .. 在 d3

我正在通过从基础编写力导向图来学习d3。我的代码在下面。我不明白的是force.on('tick'...当然,如果我们为布局使用内置类,我会认为给d3.layout.force()节点和链接就足够了,它应该能够以平衡布局绘制图形.如果我注释掉force.on('tick'...部分,那么我所有的圆圈和线条都会在左上角结束。内部发生的事情之间有区别吗以及svg容器中发生了什么,因此我们需要force.on('tick'来重新绘制布局以每次都匹配当前的内部值集?varnodes=[{},{},{}];varlinks=[{'source':0,'target':1}];//appendsv

javascript - 如何为 D3 条形图分配随机颜色?

我正在按照下面的模型制作D3条形图:如何使条形具有随机颜色?jsFiddle代码:svg.append("g").attr("class","xaxis").attr("transform","translate(0,"+height+")").call(xAxis); 最佳答案 d3有4个内置调色板。这是link用于内置调色板。This教程擅长为特定元素使用特定颜色。另一个tutorial杰罗姆·库基尔(JeromeCukier)着。和官方site对于d3颜色。Fiddle-注意:在fiddle中,我通过在数据中添加颜色来传递颜色