Javascript 如何在Vis.js网络图的节点中增加标签填充?
使用创建网络图时,网络中的节点使用的标签(在我的用例中)没有足够的“填充”,即节点标签文本和节点边框之间没有足够的空间。下图对此进行了说明:Javascript 如何在Vis.js网络图的节点中增加标签填充?,javascript,css,vis.js,vis.js-network,Javascript,Css,Vis.js,Vis.js Network,使用创建网络图时,网络中的节点使用的标签(在我的用例中)没有足够的“填充”,即节点标签文本和节点边框之间没有足够的空间。下图对此进行了说明: 考虑到Vis.js中已经有大量的配置选项可用,我认为增加标签填充会很简单,但就我而言,我不知道如何做到这一点。已经浏览了官方文档,并搜索了StackOverflow和Google,但没有发现任何提示。感觉我错过了一些显而易见的东西-有人能帮我解释一下吗?…我也遇到了同样的问题。我找到的唯一解决方案是将节点的borderWidth和borderWidthS
考虑到Vis.js中已经有大量的配置选项可用,我认为增加标签填充会很简单,但就我而言,我不知道如何做到这一点。已经浏览了官方文档,并搜索了StackOverflow和Google,但没有发现任何提示。感觉我错过了一些显而易见的东西-有人能帮我解释一下吗?…我也遇到了同样的问题。我找到的唯一解决方案是将节点的
borderWidth
和borderWidthSelected
设置为我想要的填充量。要使其看起来不太难看,还可以将边框设置为与节点背景相同的颜色
此外,它还为图形提供了一个漂亮的现代平面外观。此属性尚不可自定义,但我设法在
vis.js
源文件中直接对其进行了更改:
- 搜索Box类定义:
var Box=function(\u NodeBase)
- 在调整大小功能中,有要修改的边距:
var margin=5代码>
- 把它改成你想要的,它就完成了
节点上的边距属性,如下所示:
const options = {
nodes: {
margin: 10
}
}
const options = {
nodes: {
margin: {
top: 10,
bottom: 20,
left: 5,
right: 5
}
}
您还可以为顶部、底部、右侧和左侧指定不同的页边距,如下所示:
const options = {
nodes: {
margin: 10
}
}
const options = {
nodes: {
margin: {
top: 10,
bottom: 20,
left: 5,
right: 5
}
}
除了px,我似乎什么都不能指定——我尝试使用“1em”作为输入,但它似乎只接受整数值——并以像素表示
如果您好奇,我从node\u modules\vis\lib\network
中的options.js
文件中找到了所需的信息。如果您正在为vis的其他区域(如timeline)寻找选项,我打赌在类似的文件夹中会有一个选项文件。事实上,我也使用了同样的解决方法。它确实有几个缺点-例如,节点上不再有边框,因为您的边框现在实际上是背景的一部分。此外,这意味着您不能再使用半透明节点-也就是说,使用alpha<1
颜色作为节点背景。这是因为如果您在边框上使用相同的半透明颜色,边框和背景将重叠(边框居中绘制),最终会出现不需要的“内边框”……Per Hornshøj-Schierbeck的答案对您有用吗?如果是这样,请将其标记为已接受(它对我很有效)