写入文件时如何重命名igraph节点ID [英] How to rename igraph node id when writing to file

查看:106
本文介绍了写入文件时如何重命名igraph节点ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将图形写入文件,但是得到的节点标签与我想要的不同.

I'm trying to write a graph to a file but I'm getting a different node labels than I would like.

示例代码:

g <- graph.star(2)
V(g)$name <- c('homer','marge')
write.graph(g,file = 'g.graphml',format = 'graphml')

输出:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
         http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<!-- Created by igraph -->
  <key id="g_name" for="graph" attr.name="name" attr.type="string"/>
  <key id="g_mode" for="graph" attr.name="mode" attr.type="string"/>
  <key id="g_center" for="graph" attr.name="center" attr.type="double"/>
  <key id="v_name" for="node" attr.name="name" attr.type="string"/>
  <graph id="G" edgedefault="directed">
    <data key="g_name">In-star</data>
    <data key="g_mode">in</data>
    <data key="g_center">1</data>
    <node id="n0">                      ###### This should <node id = "homer">
      <data key="v_name">homer</data>
     </node>
     <node id="n1">                     ###### This should <node id = "marge">
      <data key="v_name">marge</data>
     </node>
     <edge source="n1" target="n0"> 
     </edge>
  </graph>
</graphml>  

我希望节点ID"属性是节点的名称(如注释所示).有人有什么想法吗?谢谢!

I would like the "node id" attribute to be the names of the nodes (as shown in comments). Anybody have any ideas? Thanks!

推荐答案

您目前无法执行此操作.我不确定为什么不这样执行.您能否在 https://github.com/igraph/igraph/问题?state = open ?谢谢.

You can't do this currently AFAIK. I am not sure why it is not implemented that way. Can you please open an issue about it at https://github.com/igraph/igraph/issues?state=open ? Thanks.

这篇关于写入文件时如何重命名igraph节点ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆