簡體   English   中英

vis.js更改節點顏色也會影響邊緣顏色

[英]vis.js change node color also affect edge color

我使用此功能從其ID更改了節點顏色,但是我發現從該節點開始的邊緣也更改了顏色

如果我將節點2更改為紅色

從:2,連接到:1,4,5的邊線8,7,6也變為紅色

function draw() {
        nodes.add([
        {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'}
        ]);
        edges.add([
        {id:9, from: 3, to: 1},
        {id:8, from: 2, to: 1},
        {id:7, from: 2, to: 4},
        {id:6, from: 2, to: 5}
        ]);

這是我的代碼:

network.on( 'click', function(params) {
    idnode = params.nodes;
    idedge = params.edges;          
});

function red() {
    idnode2 = idnode;
    nodes.update({id: idnode2, color: "red"});
}

我的理解是,這就是vis.js的工作方式:默認情況下,邊緣顏色是原始節點(邊界)的顏色(您當然可以更改它,就像對節點所做的一樣)。
有關此操作的詳細信息,請參閱以下選項的文檔: http : color.inherit中的color.inherit

我們需要在全局選項中禁用繼承屬性,例如:

var options = {
    nodes: {
        shape: 'dot',
        scaling: {
            customScalingFunction: function (min,max,total,value) {
                return value/total;
            },
            min:20,
            max:100
        }
    }
    ,
    edges:{
        scaling: {
            customScalingFunction: function (min,max,total,value) {
                return value/total;
            },
            min:1,
            max:200
        },
        color: {
            //color:'#848484',
            highlight:'#848484',
            hover: '#d3d2cd',
            inherit: false,
            opacity:1.0
        }
    }

};

然后在添加邊緣時,我們應將顏色包括為:

edges.add({from: 1, to: 2, value:10,color:{color:'#ff383f'}});

或者您可以使用color更新邊緣:

edges.update({id:10,color:{color:'#ff383f'}});

我發現如果我在選項中設置邊緣顏色。 邊緣顏色不再改變。

在options.edges.color.inherit中禁用繼承屬性:

let options = {
  edges: {
    color : {
      inherit: false
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM