首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vis.js-network中隐藏边缘标签

在vis.js-network中隐藏边缘标签
EN

Stack Overflow用户
提问于 2022-01-14 13:57:22
回答 1查看 407关注 0票数 0

我只想简单地显示/隐藏我的vis.js(网络)边缘的标签--这可能吗?

我有已尝试来更新vis.js-数据结构中的边缘:

  • 删除label属性-不工作
  • label设置为undefined -不工作
  • label设置为'' -不工作
  • label设置为' ' - works

我更喜欢某种网络切换,但我还没有找到。

有更好的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-15 13:55:34

更新每个边缘上的label属性的另一种方法是将所有边缘的字体颜色更改为透明setOptions()方法可用于更新选项,并应用网络中的所有边缘。应该更新选项edges.font.coloredges.font.strokeColor,然后返回到它们的原始值以显示边缘。

下面的示例以及https://jsfiddle.net/rk9s87ud/中的示例。

代码语言:javascript
复制
var nodes = new vis.DataSet([
  { id: 1, label: "Node 1" },
  { id: 2, label: "Node 2" },
  { id: 3, label: "Node 3" },
  { id: 4, label: "Node 4" },
  { id: 5, label: "Node 5" },
]);

var edges = new vis.DataSet([
  { from: 1, to: 2, label: 'Edge 1' },
  { from: 2, to: 3, label: 'Edge 2' },
  { from: 3, to: 4, label: 'Edge 3' },
  { from: 4, to: 5, label: 'Edge 4' },
]);

var container = document.getElementById("mynetwork");
var data = {
  nodes: nodes,
  edges: edges,
};

var options = {
  nodes: {
    // Set any other options, for example node color to gold
    color: 'gold'
  },
  edges: {
    font: { 
      // Set to the default colors as per the documentation
      color: '#343434',
      strokeColor: '#ffffff'
    }
  }
}

var hiddenEdgeTextOptions = {
  edges: {
    font: {
      // Set the colors to transparent
      color: 'transparent',
      strokeColor: 'transparent'
    }
  }
};

var network = new vis.Network(container, data, options);

var displayLabels = true;
document.getElementById('toggleLabels').onclick = function() {
  if(displayLabels){
    // Apply options for hidden edge text
    // This will override the existing options for text color
    // This does not clear other options (e.g. node.color)
    network.setOptions(hiddenEdgeTextOptions);
    displayLabels = false;
  } else {
    // Apply standard options
    network.setOptions(options);
    displayLabels = true;
  }
}
代码语言:javascript
复制
#mynetwork {
  width: 600px;
  height: 160px;
  border: 1px solid lightgray;
}
代码语言:javascript
复制
<script src="https://visjs.github.io/vis-network/standalone/umd/vis-network.min.js"></script>
<button id="toggleLabels">Toggle labels</button>
<div id="mynetwork"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70711694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档