为了账号安全,请及时绑定邮箱和手机立即绑定

叶节点细胞景观的不同行为

叶节点细胞景观的不同行为

潇湘沐 2022-10-21 15:02:19
输出应该是什么样子 我需要使用 cytoscape.js 为我的学士论文创建特定的树(系统发育树),对于这些,将内部节点着色为不同于子节点(或叶节点 = 没有任何后代的节点,见图片)。我是一个完整的 html 新手,所以在回答时请记住这一点。我查看了 Cytoscape 的手册,但找不到解决方案。通过使用选择节点cy.nodes(':child').not(':parent');不知何故没有工作。非常感谢您的回答!编辑:它现在在 klay 中工作,但可视化并不完美,我想得到一些看起来像图片的东西。
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

您可以只使用内置函数cy.nodes().leaves().addClass(...),其中 ... 是样式表中定义所需 css 的类。

编辑

document.addEventListener("DOMContentLoaded", function() {

  var cy = (window.cy = cytoscape({

    container: document.getElementById("cy"),


    // demo your layout

    layout: {

      name: "klay"


      // some more options here...

    },


    style: [{

        selector: "node",

        style: {

          "background-color": "#dd4de2"

        }

      },

      {

        selector: ".leaf",

        style: {

          "background-color": "#000"

        }

      },

      {

        selector: "edge",

        style: {

          "curve-style": "bezier",

          "target-arrow-shape": "triangle",

          "line-color": "#dd4de2",

          "target-arrow-color": "#dd4de2",

          opacity: 0.5

        }

      }

    ],

    elements: {

      nodes: [{

          data: {

            id: "n0"

          }

        },

        {

          data: {

            id: "n1"

          }

        },

        {

          data: {

            id: "n2"

          }

        },

        {

          data: {

            id: "n3"

          }

        },

        {

          data: {

            id: "n4"

          }

        },

        {

          data: {

            id: "n5"

          }

        },

        {

          data: {

            id: "n6"

          }

        },

        {

          data: {

            id: "n7"

          }

        },

        {

          data: {

            id: "n8"

          }

        },

        {

          data: {

            id: "n9"

          }

        },

        {

          data: {

            id: "n10"

          }

        },

        {

          data: {

            id: "n11"

          }

        },

        {

          data: {

            id: "n12"

          }

        },

        {

          data: {

            id: "n13"

          }

        },

        {

          data: {

            id: "n14"

          }

        },

        {

          data: {

            id: "n15"

          }

        }

      ],

      edges: [{

          data: {

            source: "n0",

            target: "n1"

          }

        },

        {

          data: {

            source: "n1",

            target: "n2"

          }

        },

        {

          data: {

            source: "n1",

            target: "n3"

          }

        },

        {

          data: {

            source: "n2",

            target: "n4"

          }

        },

        {

          data: {

            source: "n4",

            target: "n5"

          }

        },

        {

          data: {

            source: "n4",

            target: "n6"

          }

        },

        {

          data: {

            source: "n6",

            target: "n7"

          }

        },

        {

          data: {

            source: "n6",

            target: "n8"

          }

        },

        {

          data: {

            source: "n8",

            target: "n9"

          }

        },

        {

          data: {

            source: "n8",

            target: "n10"

          }

        },

        {

          data: {

            source: "n10",

            target: "n11"

          }

        },

        {

          data: {

            source: "n11",

            target: "n12"

          }

        },

        {

          data: {

            source: "n12",

            target: "n13"

          }

        },

        {

          data: {

            source: "n13",

            target: "n14"

          }

        },

        {

          data: {

            source: "n13",

            target: "n15"

          }

        }

      ]

    }

  }));


  cy.nodes().leaves().addClass("leaf");

});

body {

  font-family: helvetica neue, helvetica, liberation sans, arial, sans-serif;

  font-size: 14px;

}


#cy {

  position: absolute;

  left: 0;

  top: 0;

  bottom: 0;

  right: 0;

  z-index: 999;

}

<html>


<head>

  <script src="https://unpkg.com/cytoscape/dist/cytoscape.min.js"></script>

  <script src="https://unpkg.com/klayjs@0.4.1/klay.js"></script>

  <script src="https://cdn.jsdelivr.net/npm/cytoscape-klay@3.1.3/cytoscape-klay.min.js"></script>

</head>


<body>

  <div id="cy"></div>

</body>


</html>


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信