草庐IT

javascript - D3.js ~ 有没有办法将 csv header 值访问到下拉列表中?

我正在构建一个交互式图表,因为轴的值有两个标题值。如果我可以从下拉菜单或类似的菜单中选择轴值,那就更好了。我不知道是否可以访问我的csv的header值,就像它们是数组的一部分一样,所以我可以制作一个下拉菜单以供选择。给定一个包含许多header值的.csv,并且它们都是字符串,是否可以通过使用d3.csv.formatRows(rows)来实现这一点?我试图在回调函数中使用它:varheader=d3.csv("MyCsvFile.csv").formatRows(0);console.log(header);但是没用。我什至不确定我是否使用了正确的功能,或者是否有这样做的功能!任何

javascript - 如何运行 Mike Bostock 的 D3 示例?

我一直在尝试运行MikeBostock的See-ThroughGlobe例如,但是如果您尝试在本地复制它,对他的json文件的引用是不正确的。问题来自这行代码:d3.json("/mbostock/raw/4090846/world-110m.json",function(error,topo){varland=topojson.feature(topo,topo.objects.land),grid=graticule();});我遵循了这个例子:d3:usstatesintopojsonformatfilesizeiswaytoolarge并尝试更改这些变体的url以更好地为外部用

javascript - 如何根据轴值更改 d3js 中的线条颜色?

如果X>100,我想更改此折线图的颜色我希望它变成“红色”有没有一种方法可以根据X的值在笔触颜色样式中使用条件?http://jsfiddle.net/iamjeannie/b445svob/1/enterlinkdescriptionherevarlineData=[{"x":1,"y":5},{"x":20,"y":20},{"x":40,"y":10},{"x":60,"y":40},{"x":80,"y":5},{"x":100,"y":60},{"x":120,"y":15},{"x":140,"y":40},{"x":160,"y":25},{"x":180,"y":20}

javascript - d3.js: enter(), update, exit() 之间有组元素

当我使用D3.js呈现可视化并进入、更新、退出模式时,我的DOM结构如下所示:grect...grect...grect...我在我的组中使用多个元素和嵌套选择,但为了简单起见,我将用矩形来演示这一点。DOM通过以下方式完成:group=d3.select('.svg-content').selectAll('g').data(items,function(item){returnitem.Id;});groupEnter=group.enter().append('svg:g').attr('class','group-content');//entergroupEnter.appe

javascript - D3 过渡 : Fading in and out the colors within a gradient fill

在这个D3图中,圆圈填充了径向渐变,并且改变不透明度用于淡入和淡出:varwidth=400,height=400,padding=1.5,//separationbetweensame-colornodesclusterPadding=6,//separationbetweendifferent-colornodesmaxRadius=12;varn=200,//totalnumberofnodesm=10;//numberofdistinctclustersvarcolor=d3.scale.category10().domain(d3.range(m));//Thelargest

javascript - 如何使用 D3js 围绕圆形路径绘制圆圈

如何用D3js在圆形路径周围绘制大小随机的圆圈,使小圆圈随机分布且不相互重叠。它应该是这样的:这是我能得到的jQuery(document).ready(function(){varangle,offset,data,size=[8,15],width=500,color=d3.scale.category10(),height=600,radius=200,dispersion=10,svgContainer=d3.select('body').append("svg").attr("width",width).attr("height",height);data=d3.range(

javascript - D3 缩放时保持线宽相同

下面创建两条粗细为8的线:vara=[23,50]for(b=0;b我有以下缩放功能functionzoomed(){vis.selectAll("line.route,line.stripe,line.stripep").attr("transform","translate("+zoom.translate()+")scale("+zoom.scale()+")")vis.selectAll("line.stripep").attr("stroke-width",8/(zoom.scale()))但是线宽没有变化,这是什么问题。我也试过:vis.selectAll("line.st

javascript - D3 V4 设置初始缩放级别

我刚开始使用D3V4,但我无法使用平移和缩放功能。问题是我希望初始比例值大于1,所以我使用zoom.scaleTo(svg,2);但是,一旦我平移或缩放,比例就会重置回1。这是JSFiddle上这种行为的示例,我做错了什么?JSFiddle 最佳答案 问题是:varsvg=d3.select("body").append("svg").attr("width",600).attr("height",600).call(zoom).append("g");您正在将group元素而不是svg元素分配给变量svg。zoom已正确应用于sv

javascript - D3 时间序列热图

我正在尝试使用d3制作一个热图,它在x轴上是一个时间序列,在y轴上是一个数字,颜色是单元格的值。数据是根据输入加载的,域和范围可以根据不同的输入而改变。我找不到这样的例子。有谁知道我该如何创建它?谢谢 最佳答案 所以我终于有时间写下我一直在寻找的这段代码。我的主要问题是我已经很好地理解了音阶。因此,在阅读了一些内容后,我可以定义一个时间尺度并使用以下代码将其映射到我的数据:varxscale=d3.time.scale().domain([startDate,endDate]).range([padding,w-padding]);

javascript - Uncaught TypeError : this. y.rangeBand 不是迁移到 D3 版本 4 后的函数

我正在尝试将我的代码从D3版本3迁移到版本4。这是我的版本3的代码:this.x=d3.scale.linear().range([0,this.width]);this.y=d3.scale.ordinal().rangeRoundBands([-20,this.yItemsHeight],.1,1);this.xAxis=d3.svg.axis().scale(this.x).orient("top");this.yAxis=d3.svg.axis().scale(this.y).orient("left");...this.svg.selectAll(".bar").data(d