java - Exporting Gephi to GraphML not maintaining Node colour -


i'm using gephi create graphmodel , export .graphml file. when create .graphml file colour attribute not maintained.

the following how create gephi graphmodel graphclass (comprised of edges of type e, , nodes of type v) , export .graphml file. in case create random k-tree

    public void testcreategraph() throws exception {         ktree k1 = new ktree(4);          (int = 0; < 95; i++) {             k1.addrandomvertex();         }         graphmlcreator<kvertex,kedge<kvertex>> creator = new graphmlcreator();         creator.create(k1);         creator.sendtodb();     } 

    public void create(graphclass<v,e> g){          graph = graphmodel.getundirectedgraph();         this.addnodes(g.getvertices());         this.addedges(g.getedges());      }      private void addedges(collection<e> edges){          (e e: edges){             node n0 = graph.getnode(e.getendpoints().getfirst().getlabel());             node n1 = graph.getnode(e.getendpoints().getsecond().getlabel());              org.gephi.graph.api.edge e1 = graphmodel.factory().newedge(n0, n1, 1f, false);             graph.addedge(e1);         }      }      private void addnodes(collection<v> nodes){          (v v:nodes){             node n0 = graphmodel.factory().newnode(v.getlabel());             n0.getnodedata().setlabel(v.getlabel());             n0.getnodedata().setcolor(255,0,0);              graph.addnode(n0);         }      }      public void creategraphml(){          //export full graph         exportcontroller ec = lookup.getdefault().lookup(exportcontroller.class);         try {             ec.exportfile(new file("io_gexf.gexf"));         } catch (ioexception ex) {             ex.printstacktrace();             return;         }          //export visible graph         graphexporter exporter = (graphexporter) ec.getexporter("gexf");     //get gexf exporter         exporter.setexportvisible(true);  //only exports visible (filtered) graph         exporter.setworkspace(workspace);         try {             ec.exportfile(new file("io_gexf.gexf"), exporter);         } catch (ioexception ex) {             ex.printstacktrace();             return;         }          //export writer         exporter exportergraphml = ec.getexporter("graphml");     //get graphml exporter         exportergraphml.setworkspace(workspace);         stringwriter stringwriter = new stringwriter();         ec.exportwriter(stringwriter, (characterexporter) exportergraphml);          filewriter fw = null;         try {             fw = new filewriter("my-file.graphml");             fw.write(stringwriter.tostring());             fw.close();         } catch (ioexception e) {             e.printstacktrace();         }      } 

i want set colour of nodes red in yed shows them default yellowenter image description here

a node graphml looks follows:

<node id="v0">   <data key="label">v0</data>   <data key="size">1.0</data>   <data key="r">65025</data>   <data key="g">0</data>   <data key="b">0</data>   <data key="x">418.6446</data>   <data key="y">-191.08676</data> </node> 

is there way in gephi directly change value of specific data tag? believe problem format of graphml data tag incorrect , not recognized yed, , incorrect format may have how file written.

for graphical information yed uses additional namespace. have use it. 1 node graphml file should followed.

the way can create gephi , java don't know @ moment.

but if possible create somehow lines arround "node" tag, have change < node id="yourlabel" > , < y:fill color="#ff0000" > node color. node id changed yed "n0" when save file using yed. additionally should explicitly set real node label, find before "yourlabel < y:labelmodel >" .

<?xml version="1.0" encoding="utf-8" standalone="no"?> <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemalocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">   <key attr.name="beschreibung" attr.type="string" for="graph" id="d0"/>   <key for="port" id="d1" yfiles.type="portgraphics"/>   <key for="port" id="d2" yfiles.type="portgeometry"/>   <key for="port" id="d3" yfiles.type="portuserdata"/>   <key attr.name="url" attr.type="string" for="node" id="d4"/>   <key attr.name="description" attr.type="string" for="node" id="d5"/>   <key for="node" id="d6" yfiles.type="nodegraphics"/>   <key for="graphml" id="d7" yfiles.type="resources"/>   <key attr.name="url" attr.type="string" for="edge" id="d8"/>   <key attr.name="description" attr.type="string" for="edge" id="d9"/>   <key for="edge" id="d10" yfiles.type="edgegraphics"/>   <graph edgedefault="directed" id="g">     <data key="d0"/>     <node id="yourlabel">       <data key="d6">         <y:shapenode>           <y:geometry height="30.0" width="30.0" x="415.0" y="203.0"/>           <y:fill color="#ff0000" transparent="false"/>           <y:borderstyle color="#000000" type="line" width="1.0"/>           <y:nodelabel alignment="center" autosizepolicy="content" fontfamily="dialog" fontsize="12" fontstyle="plain" hasbackgroundcolor="false" haslinecolor="false" height="18.701171875" modelname="custom" textcolor="#000000" visible="true" width="58.708984375" x="-14.3544921875" y="5.6494140625">yourlabel<y:labelmodel>               <y:smartnodelabelmodel distance="4.0"/>             </y:labelmodel>             <y:modelparameter>               <y:smartnodelabelmodelparameter labelratiox="0.0" labelratioy="0.0" noderatiox="0.0" noderatioy="0.0" offsetx="0.0" offsety="0.0" upx="0.0" upy="-1.0"/>             </y:modelparameter>           </y:nodelabel>           <y:shape type="rectangle"/>         </y:shapenode>       </data>     </node>   </graph>   <data key="d7">     <y:resources/>   </data> </graphml> 

Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -