当使用Vis.js创建网络图时,网络中的节点使用标签绘制,对于我的用例来说,这些标签没有足够的“填充”,也就是说,节点标签文本和节点的边框之间没有足够的空间。以下图片说明了这一点:

考虑到Vis.js中已经有大量的配置选项,我认为增加标签填充会很简单,但是对于我来说,不知道怎么做。已经翻阅了官方文档,并在StackOverflow和谷歌上搜索过,但没有发现任何提示。感觉好像我错过了一些显而易见的东西-有人能放灯吗?..
发布于 2017-07-19 12:26:32
我找到了它--至少它是为我在npm中安装的vis@4.20.1工作的。他们使用边距来修改边框和标签文本之间的空格。
传入的options对象,它需要在margin属性上设置一个nodes属性,如下所示:
const options = {
nodes: {
margin: 10
}
}还可以为上、下、右、左指定不同的边距,如下所示:
const options = {
nodes: {
margin: {
top: 10,
bottom: 20,
left: 5,
right: 5
}
}除了px之外,我似乎什么都不能指定--我试着用'1em‘作为输入,但它似乎只需要整数值,并以像素表示。
如果您好奇的话,我从位于options.js的node_modules\vis\lib\network文件中找到了所需的信息。如果您正在为vis的其他区域寻找选项(比如时间线),我打赌在类似的文件夹中有一个选项文件。
发布于 2016-02-24 13:50:13
这个属性还不能自定义,但是我设法在vis.js源文件中直接更改了它:
var Box = function (_NodeBase)var margin = 5;发布于 2016-02-15 16:30:26
我只是碰到了同样的问题。我找到的唯一解决方案是将节点的borderWidth和borderWidthSelected设置为我想要的填充量。为了使它看起来不太难看,您还可以设置与节点的背景颜色相同的边框。
此外,它给图形一个很好的现代平面外观。
https://stackoverflow.com/questions/35374778
复制相似问题