cytoscape.js - cytoscape.js同心布局节点数量较多时如何设置节点标签大小

标签 cytoscape.js

你好,我正在尝试使用 cytoscape.js 显示同心图。该数据包含大约 100 个节点。我选择“同心”的原因是因为我想以 3 层(例如内层、中层、外层)显示我的图表。并且每个节点都有一个名为“level”的属性,该属性被分配为1-3。 我遇到的问题是节点标签的字体大小。然而,我将标签大小更改为,它仍然很大,除非大幅放大,否则我几乎看不到它。 该图目前的样子如下: example cytoscapejs graph

以下是我目前设置 cytoscape.js 样式和布局的方法:

var style = [
{
    selector: "node[type = 'A']",
    style: {
        "background-color": "blue",
        "label": "data(id)",
        "height": 50,
        "width": 50,
        "font-size": "20px"
    }
},
{
    selector: "node[type = 'B']",
    style: {
        "background-color": "green",
        "label": "data(id)",
        "font-size": "80px",
        "height": 50,
        "width": 50
    }
},
{
    selector: "node[type= 'C']",
    style: {
        "background-color": "red",
        "label": "data(id)",
        "font-size": "30px",
        "height": 50,
        "width": 50
    }
},
{
    selector: "edge",
    style: {
        "curve-style": "haystack",
        "haystack-radius": 0,
        "width": 10,
        "opacity": 0.5,
        "line-color": "#a8eae5"
    }
}
];

// define concentric option
var concentricOptions = {
name: "concentric",
concentric: function (node) {
    return 10 - node.data("level");
},
minNodeSpacing: 1,
padding: -1
};

我尝试了几个不同的高度、宽度、字体大小参数,但似乎没有一个真正有效。想知道是否有人可以帮助我增加标签尺寸。理想情况下,我希望标签尺寸的显示方式与此处的示例类似:http://js.cytoscape.org/demos/spread-layout/ 。然而,这个使用了不同的布局。(但它也包含大量节点) 谢谢!

最佳答案

您的节点间隔太大。因此,当图表适合视口(viewport)时,您会缩小很多。

调整布局参数,直到获得所需的视觉结果。

要考虑的参数:

  • 间距因子
  • 最小节点间距
  • 避免重叠
  • 节点维度包含标签

引用号:http://js.cytoscape.org/#layouts/concentric

--

要更改字体大小,请使用样式表(即font-size):http://js.cytoscape.org/#style/labels

关于cytoscape.js - cytoscape.js同心布局节点数量较多时如何设置节点标签大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47687870/

相关文章:

cytoscape.js - 为 cytoscape.js 力导向布局设置随机种子?

cytoscape.js - Cytoscape js单击节点时如何获取所有边(文本标签)

cytoscape.js - 在节点的右下角定位 cytoscape.js "loop"边缘,逆时针方向

javascript - 如何使用 cytoscape.js 制作连续动画

cytoscape.js - Cytoscape 仅动态设置最后添加的节点样式

javascript - 将 JSON 数据导出和导入到 Cytoscape.js

javascript - 某些变换是否适用于文本而不适用于矩形?

cytoscape.js - 你如何将节点传递给 cytoscape-cola.js 中的 gapInequalities?

html5-canvas - 打印整个 Cytoscape.js HTML5 Canvas 。不只是可见的部分

javascript - 使用 cytoscape-graphml.js 解析 cytoscape.js 中的 graphml 文件