
[英]Cytoscape.js mapData mapper returning same color for all vertices
[英]Setting variable limits for cytoscape.js mapData
快速提问。 我正在尝试使用cytoscape's.js mapData线性映射器在小图中设置边缘的颜色。 但是,存在一个小问题。 以下示例可以顺利进行。
.selector('edge')
.css({
'line-color': 'mapData(similarity,1.8,3.78, blue, red)'
'width': 2,
'opacity': 0.8
})
但是,一旦我替换了固定的边界,我就会有点烦。
.selector('edge')
.css({
'line-color': 'mapData(similarity,min, max, blue, red)',
'width': 2,
'opacity': 0.8
})
彩色的边缘消失,并且全部变成灰色。 最小和最大变量是事先设置的,我可以验证这一点,因为在创建图形之前,它们已用于计算其他内容。 我已经浏览了文档,但找不到有关此问题的任何内容。
正如@dandavis所建议的,这可能是一个插件。 所以我尝试添加将max和min添加到每个边缘json定义。 这样做是在考虑了mapData函数可能假定只要使用“变量”,它们就存储在适当选择器的定义中。
id: "133700_307800"
max_sim: 3.57829530512
min_sim: 1.9655114484
similarity: 3.57829530512
source: "133700"
target: "307800"
有任何想法吗?
非常感谢!
您不能期望变量在JS中以字符串形式求值(即将发布的ES6功能除外,如果显式使用的话)。 所以,
.selector('edge') .css({ 'line-color': 'mapData(similarity,min, max, blue, red)' 'width': 2, 'opacity': 0.8 })
变成
.selector('edge') .css({ 'line-color': 'mapData(similarity,' + min + ', ' + max + ', blue, red)' 'width': 2, 'opacity': 0.8 })
等等。
我试图将mapData函数的可变边界设置为无效。 我最终要做的是缩放0到1之间的值,并修复javascript中的上下边界。 谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.