help with rendering layers in Rgraphviz
1
0
Entering edit mode
Mark W Kimpel ▴ 830
@mark-w-kimpel-2027
Last seen 10.2 years ago
I am using Rgraphviz in "neato" mode to layout a graph with about 500 nodes and 1500 edges. Rgraphviz first renders the nodes and then the edges, meaning that I have a lot of edges overlapping with nodes. I would like to put the edges behind the nodes to avoid this. In reviewing documentation of both Graphviz and Rgraphviz, I do not think using the "no overlap" option would work with a graph of this size. Being able to see each and every edge is also not important for my application, so I am wondering if I can use layers to render the edges in a layer behind the nodes. Will this work? If not, any other suggestions? If it will, could an expert supply me with some sample code to render edges and nodes in separate layers? I could not find any in the documentation I reviewed. Thanks, Mark -- --- Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry Indiana University School of Medicine 15032 Hunter Court, Westfield, IN 46074 (317) 490-5129 Work, & Mobile & VoiceMail (317) 663-0513 Home (no voice mail please)
graph Rgraphviz graph Rgraphviz • 998 views
ADD COMMENT
0
Entering edit mode
@kasper-daniel-hansen-2979
Last seen 17 months ago
United States
On Jun 12, 2007, at 11:20 AM, Mark W Kimpel wrote: > I am using Rgraphviz in "neato" mode to layout a graph with about 500 > nodes and 1500 edges. Rgraphviz first renders the nodes and then the > edges, meaning that I have a lot of edges overlapping with nodes. I > would like to put the edges behind the nodes to avoid this. > > In reviewing documentation of both Graphviz and Rgraphviz, I do not > think using the "no overlap" option would work with a graph of this > size. Being able to see each and every edge is also not important > for my > application, so I am wondering if I can use layers to render the edges > in a layer behind the nodes. > > Will this work? If not, any other suggestions? If it will, could an > expert supply me with some sample code to render edges and nodes in > separate layers? I could not find any in the documentation I reviewed. In the code for Rgraphviz we just use Graphviz to layout the graph, ie. we get the (x,y) positions of the nodes and the function forms of the lines. Having those (and some other parameters we also need) we render (draw) the graph using standard R functions. So I doubt that Graphviz has any option that will affect this from the point of view of Rgraphviz. You could export the graph in dot format and then use the command line version of Graphviz to actually render (draw) the graph. \ Or you could try and hack the R code as you please. That should not be terrible hard in fact. You can get the relevant code by R> getMethod("plot", "Ragraph") (Ragraph is the name of the object after we retrieve it from Graphviz layout routine). Kasper > Thanks, > Mark > -- > > --- > > Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry > Indiana University School of Medicine > > 15032 Hunter Court, Westfield, IN 46074 > > (317) 490-5129 Work, & Mobile & VoiceMail > (317) 663-0513 Home (no voice mail please) > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: http://news.gmane.org/ > gmane.science.biology.informatics.conductor
ADD COMMENT
0
Entering edit mode
Kasper, Thanks for your suggestions. Based on your experience with Graphviz, do you think my idea of rendering the edges and nodes in separate layers is doable and the right way to go? Mark --- Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry Indiana University School of Medicine 15032 Hunter Court, Westfield, IN 46074 (317) 490-5129 Work, & Mobile & VoiceMail (317) 663-0513 Home (no voice mail please) ****************************************************************** Kasper Daniel Hansen wrote: > On Jun 12, 2007, at 11:20 AM, Mark W Kimpel wrote: > >> I am using Rgraphviz in "neato" mode to layout a graph with about 500 >> nodes and 1500 edges. Rgraphviz first renders the nodes and then the >> edges, meaning that I have a lot of edges overlapping with nodes. I >> would like to put the edges behind the nodes to avoid this. >> >> In reviewing documentation of both Graphviz and Rgraphviz, I do not >> think using the "no overlap" option would work with a graph of this >> size. Being able to see each and every edge is also not important for my >> application, so I am wondering if I can use layers to render the edges >> in a layer behind the nodes. >> >> Will this work? If not, any other suggestions? If it will, could an >> expert supply me with some sample code to render edges and nodes in >> separate layers? I could not find any in the documentation I reviewed. > > In the code for Rgraphviz we just use Graphviz to layout the graph, ie. > we get the (x,y) positions of the nodes and the function forms of the > lines. Having those (and some other parameters we also need) we render > (draw) the graph using standard R functions. So I doubt that Graphviz > has any option that will affect this from the point of view of > Rgraphviz. You could export the graph in dot format and then use the > command line version of Graphviz to actually render (draw) the graph. > \ > Or you could try and hack the R code as you please. That should not be > terrible hard in fact. You can get the relevant code by > R> getMethod("plot", "Ragraph") > > (Ragraph is the name of the object after we retrieve it from Graphviz > layout routine). > > Kasper > > >> Thanks, >> Mark >> -- >> >> --- >> >> Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry >> Indiana University School of Medicine >> >> 15032 Hunter Court, Westfield, IN 46074 >> >> (317) 490-5129 Work, & Mobile & VoiceMail >> (317) 663-0513 Home (no voice mail please) >> >> _______________________________________________ >> Bioconductor mailing list >> Bioconductor at stat.math.ethz.ch >> https://stat.ethz.ch/mailman/listinfo/bioconductor >> Search the archives: >> http://news.gmane.org/gmane.science.biology.informatics.conductor > >
ADD REPLY
0
Entering edit mode
On Jun 13, 2007, at 2:12 AM, Mark W Kimpel wrote: > Kasper, > > Thanks for your suggestions. Based on your experience with > Graphviz, do > you think my idea of rendering the edges and nodes in separate > layers is > doable and the right way to go? I have no experience with layers in Graphviz, but I would assume they have some way of handling this problem, which might be pretty common - and layers sound like it could be it. You have a quite large graph, so in any way you might want to look for Graphviz based tools in order to explore it (see the graphviz homepage under tools I think) - or is the R plotting looking reasonable? For other reasons I am myself looking at displaying a 20.000 node bipartite graph (or rather will be soon), so if anyone has any good software suggestions, I am open as well. Having said all of that, what you are asking is a reasonable request, which should be incorporated into Rgraphviz. However, I certainly do not have time to work on that right now :( Kasper > Mark > > --- > > Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry > Indiana University School of Medicine > > 15032 Hunter Court, Westfield, IN 46074 > > (317) 490-5129 Work, & Mobile & VoiceMail > (317) 663-0513 Home (no voice mail please) > > ****************************************************************** > > Kasper Daniel Hansen wrote: >> On Jun 12, 2007, at 11:20 AM, Mark W Kimpel wrote: >> >>> I am using Rgraphviz in "neato" mode to layout a graph with about >>> 500 >>> nodes and 1500 edges. Rgraphviz first renders the nodes and then the >>> edges, meaning that I have a lot of edges overlapping with nodes. I >>> would like to put the edges behind the nodes to avoid this. >>> >>> In reviewing documentation of both Graphviz and Rgraphviz, I do not >>> think using the "no overlap" option would work with a graph of this >>> size. Being able to see each and every edge is also not important >>> for my >>> application, so I am wondering if I can use layers to render the >>> edges >>> in a layer behind the nodes. >>> >>> Will this work? If not, any other suggestions? If it will, could an >>> expert supply me with some sample code to render edges and nodes in >>> separate layers? I could not find any in the documentation I >>> reviewed. >> >> In the code for Rgraphviz we just use Graphviz to layout the >> graph, ie. >> we get the (x,y) positions of the nodes and the function forms of the >> lines. Having those (and some other parameters we also need) we >> render >> (draw) the graph using standard R functions. So I doubt that Graphviz >> has any option that will affect this from the point of view of >> Rgraphviz. You could export the graph in dot format and then use the >> command line version of Graphviz to actually render (draw) the graph. >> \ >> Or you could try and hack the R code as you please. That should >> not be >> terrible hard in fact. You can get the relevant code by >> R> getMethod("plot", "Ragraph") >> >> (Ragraph is the name of the object after we retrieve it from Graphviz >> layout routine). >> >> Kasper >> >> >>> Thanks, >>> Mark >>> -- >>> >>> --- >>> >>> Mark W. Kimpel MD ** Neuroinformatics ** Dept. of Psychiatry >>> Indiana University School of Medicine >>> >>> 15032 Hunter Court, Westfield, IN 46074 >>> >>> (317) 490-5129 Work, & Mobile & VoiceMail >>> (317) 663-0513 Home (no voice mail please) >>> >>> _______________________________________________ >>> Bioconductor mailing list >>> Bioconductor at stat.math.ethz.ch >>> https://stat.ethz.ch/mailman/listinfo/bioconductor >>> Search the archives: >>> http://news.gmane.org/gmane.science.biology.informatics.conductor >> >> > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: http://news.gmane.org/ > gmane.science.biology.informatics.conductor
ADD REPLY

Login before adding your answer.

Traffic: 670 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6