我对protovis很新。我试图了解http://mbostock.github.com/protovis/docs/panel.html的例子,我可以理解left(function() this.index * 10)
实际上是left(function(){return this.index * 10;})
当函数被调用时,范围被传递给它this
很好,直到现在。 BUt data(function(array) array)
不接受来自this
的数组。而是传递给它。从这个array
通过?我无法理解链条的流动。protovis神奇属性
0
A
回答
0
这是Protovis的许多部分之一,起初有点令人困惑。当您将数据添加到一个标记,如:
var mark = new pv.Panel()
.data([1,2,3]);
的标志将是data
阵列中的每个项目复制一次,并通过了相应的项目作为第一个参数的功能,例如:
new pv.Panel()
.data([1,2,3])
.title(function(d) { // <-- d is 1, 2, or 3
return d;
});
附加到mark
任何子标志也将收到这个数据点,然后可以通过孩子的标记被用作其功能的输入参数,如:
new pv.Panel()
.data([1,2,3])
.add(pv.Label)
.text(function(d) { // <-- d is 1, 2, or 3
return d;
});
但是,子标记也可以定义自己的data()
,它将相应地复制该标记。一种儿童标记的数据可以是完全独立的,例如:
new pv.Panel()
.data([1,2,3])
.add(pv.Label)
.data([3,4,5])
.text(function(d) { // <-- d is 3, 4, or 5
return d;
});
但通常,如在链接到该示例中,父将具有2或3 d数组作为它的数据,而子将基地它通过的子阵列上的data()
:
new pv.Panel()
.data([[1,2,3], [3,4,5]])
.add(pv.Label)
.data(function(d) { // <-- d is [1,2,3] or [3,4,5]
return d;
})
.text(function(d) { // <-- d is either 1, 2, or 3,
// OR 3, 4, or 5
return d;
});
相关问题
- 1. 访问Protovis行中的值属性
- 2. 指向属性的表达式神奇地有一个转换
- 3. 精神SA属性号
- 4. Protovis Tooltip
- 5. MATLAB神奇的神秘计时行为
- 6. 升压精神:强制属性上无属性解析器
- 7. 如何使用神奇记录库获取属性中的所有值Swift
- 8. Maven finalName属性缺失神器扩展
- 9. 奇怪的行为属性
- 10. Protovis bullet chart boundaries
- 11. “神奇”的QTextEdit大小
- 12. __reversed__神奇的方法
- 13. Laravel听起来很神奇
- 14. gtk_entry_set_activates_default没有做到神奇
- 15. 使用Protovis与R
- 16. protovis更新数据
- 17. 不能设置属性...的undefined ---奇怪
- 18. 关于less/css属性的好奇problemm
- 19. 溢出x属性的奇怪行为
- 20. 请求属性/ ICEfaces的行为奇怪
- 21. Python。奇怪的类属性的行为
- 22. IE 8 nextSibling属性表现奇怪
- 23. NSObject属性的奇怪行为
- 24. Tkinter奇怪的属性问题
- 25. DataGridViewTextBoxCell中的奇怪属性覆盖
- 26. SmtpClient UseDefaultCredentials属性的奇怪行为
- 27. 奇怪的CSS属性行为
- 28. 与TextBox.Foreground.Opacity属性的奇怪行为
- 29. 属性函数的奇怪行为
- 30. 奇怪的python对象属性错误