小编mic*_*cc0的帖子

使用D3.js绘制方形矩阵

我有一些看起来像[[30个元素],[30个元素],[30个元素] ......的数据...这个数组可以包含1-31个元素的任意数量的数组.内部数组将始终与表示将要处理的天数相同.每个内部数组也都有它的on标签,所以它就像

A | 30个元素数组
B | 30个元素数组
C | 30个元素数组

30元素阵列只是我在屏幕上绘制的svg rects,所以它看起来真的很像

A | 直肠直肠...(1-31 rects)
B | 直肠直肠...(1-31 rects)
C | 直肠直肠...(1-31岁)

自然我是d3.js的新手,所以我遇到了问题而我认为是因为我不明白如何data()正确使用.现在我正在做这样的事情

.data(d3.range( d3.range(d[0].length).length) * d3.range(d.length).length )
//this is to know how many rectangles I need to draw
Run Code Online (Sandbox Code Playgroud)

所以第一项是内部数组的元素数,第二项是内部数组的数.

我没有使用秤,因为我无法正确定位,所以我想我也不理解它们.给你一个想法,我正在做什么来定位他们的x和y属性我正在做这样的事情.

daysProcessed = d[0].length
uniqueLabels  = d3.range(d.length).length

x = svgwidth/(daysProcessed +xmargin) * i%dayProcessed +xmargin // i is from  .attr("x",function(d, i)


y = rectSize *(i%uniqueLables)
Run Code Online (Sandbox Code Playgroud)

所以你可以想象这是一团糟,任何人都可以用更简单的方式帮助我,并告诉我在方阵上使用.data的正确方法吗?

javascript svg d3.js

6
推荐指数
1
解决办法
6968
查看次数

标签 统计

d3.js ×1

javascript ×1

svg ×1