所以我知道你可以使用函数来计算 Cytoscape.js 中的 css 属性,例如
cytoscape.stylesheet()
.selector('node')
.css({
'width': function(ele) {
return 12;
})
Run Code Online (Sandbox Code Playgroud)
我还知道特殊值“标签”可以是属性的值,例如
cytoscape.stylesheet()
.selector('node')
.css({
'width': 'label'
})
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何特定的属性可以用来按某种因素缩放标签,例如我想要的是类似的
cytoscape.stylesheet()
.selector('node')
.css({
'width': function(ele) {
return labelWidth * 1.5; //Where to get labelWidth from
})
Run Code Online (Sandbox Code Playgroud)
特别是,我希望能够计算椭圆的高度和宽度,以便标签完全包含在椭圆内(可以使用一些数学来计算,例如Ellipseboundingaquartz)。
但我一直无法找到获取 labelWidth 的方法。我确实设法使用 rscratch 来做到这一点,但前提是节点实际上被渲染了两次(例如多个 .selectors),任何从给定元素获取标签宽度和高度的正确方法(或者至少是一种计算它的方法)被渲染?)。
cytoscape.js ×1