javascript – 使用堆叠布局时将自定义值字段映射到x值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用堆叠布局时将自定义值字段映射到x值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1455字,纯文字阅读大概需要3分钟。
内容图文
我成功映射了y值,但是在使用stack layout创建堆积条形图时,我无法将x值映射到我的值上的任意字段.我对Javascript和d3并不熟悉;所以我可能会遗漏一些基本的东西.
我的数据数组中的值看起来像{“xInit”:0,“yInit”:91}.我想将xInit映射到图中的x,将yInit映射到y.
这工作(suggested by Bryan Clark):
var st = d3.layout
.stack()
.values(function (d) { return d.values; })
.y(function (v, i) { return v.yInit; })
.out(function (d, y0, y) { d.x = d.xInit; d.y0 = y0; d.y = y; });
而这不是:
var st = d3.layout.stack()
.values(function (d) { return d.values; })
.y(function (v, i) { return v.yInit; })
.x(function (v, i) { return v.xInit; });
它给出了以下警告:
Unexpected value translate(NaN,0) parsing transform attribute.
Unexpected value NaN parsing x attribute.
我在这里错误地使用了stack.x([accessor])吗?那我该怎么用呢?
细节
显示我的问题的完整示例可以基于此gist作为block获得.我想基于以下数据创建堆叠条形图:
initialData = [ {
"name": "apples",
"values": [{ "xInit": 0, "yInit": 91 }, { "xInit": 1, "yInit": 290 }, { "xInit": 2, "yInit": 120 }]
},{
"name": "oranges",
"values": [{ "xInit": 0, "yInit": 9 }, { "xInit": 1, "yInit": 49 }, { "xInit": 2, "yInit": 37 }]
}];
解决方法:
我不太清楚你在这里要做什么,所以这不是一个完整的解决方案,但我会帮助你开始.
您可以使用out()函数处理传出数据,以获取您正在寻找的x坐标,从而使图形发生.
var st = d3.layout.stack()
.values(function(d) { return d.values; })
.out(function(d, y0, y) {d.x = d.xInit; d.y0 = y0; d.y = y; })
.y(function (v, i) { return v.yInit; });
内容总结
以上是互联网集市为您收集整理的javascript – 使用堆叠布局时将自定义值字段映射到x值全部内容,希望文章能够帮你解决javascript – 使用堆叠布局时将自定义值字段映射到x值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。