首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3.js甘特图问题

d3.js甘特图问题
EN

Stack Overflow用户
提问于 2015-05-06 12:43:52
回答 1查看 132关注 0票数 0
代码语言:javascript
复制
var taskTypes = ["slot1", "slot2", "slot3","slot4","slot1","slot2","slot6"];

什么时候

代码语言:javascript
复制
var y = d3.scale.ordinal()
    .domain(taskTypes)
    .rangeRoundBands([ 0, height - margin.top - margin.bottom ], .1);

我在做

代码语言:javascript
复制
var rectTransform = function(d) {
    return "translate(" + x(d.termStartDate) + "," + y(d.slotName) + ")";
    };

它本来是合适的,但现在我要

代码语言:javascript
复制
var y = d3.scale.ordinal()
     .domain(d3.range(0, taskTypes.length))
     .rangeRoundBands([ 0, height - margin.top - margin.bottom ], .1);

而现在

代码语言:javascript
复制
var rectTransform = function(d) {
    return "translate(" + x(d.termStartDate) + "," + y(d.slotName) + ")";
    };

d.slotName = slot1,或slot2或slot3或任何其他值时,y(d.slotName)正在返回未定义的值,有什么建议可以让它工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-06 13:39:24

根据this answery尺度的域是taskTypes的数组索引。这意味着:

代码语言:javascript
复制
y("slot3") = undefined
y(taskTypes.indexOf("slot3")) = 54 // Or some valid value

您需要确定数组中d.slotName的索引。对于重复的值(如indexOf ),使用"slot1"不会表现得很好。如果项目不止一次出现,indexOf方法将返回第一次出现的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30077125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档