Title: | Graph examples and use cases in Bioinformatics |
---|---|
Description: | This package provides examples and code that make use of the different graph related packages produced by Bioconductor. |
Authors: | Li Long <[email protected]>, Robert Gentleman <[email protected]>, Seth Falcon <[email protected]> Florian Hahne <[email protected]> |
Maintainer: | Florian Hahne <[email protected]> |
License: | Artistic-2.0 |
Version: | 1.69.0 |
Built: | 2024-11-29 04:09:27 UTC |
Source: | https://github.com/bioc/biocGraph |
Write an HTML IMG tag together with a MAP image map.
## S4 method for signature 'Ragraph,connection,list,character' imageMap(object, con, tags, imgname, width, height, usr = par("usr")) ## S4 method for signature 'graph,connection,list,character' imageMap(object, con, tags, imgname, width, height)
## S4 method for signature 'Ragraph,connection,list,character' imageMap(object, con, tags, imgname, width, height, usr = par("usr")) ## S4 method for signature 'graph,connection,list,character' imageMap(object, con, tags, imgname, width, height)
object |
The graph layout for which we want to create an image map. |
con |
Connection to which the image map is written. |
tags |
Named list whose elements are named character vectors.
Names must correspond to node names in |
imgname |
Character. Name of the image file (for example PNG file) that contains the plot. |
width |
Width of the image. |
height |
Height of the image. |
usr |
Numeric vector of length 4. The user coordinates in the
plot window that |
The most important tags are TITLE
, HREF
,
and TARGET
. If the list tags
contains an element
with name TITLE
, then this must be a named character vector
containing the tooltips that are to be displayed when the mouse moves
over a node. The names of the nodes are specified in the names
attribute of the character vector and must match those of
object
.
Similarly, HREF
may be used to specify hyperlinks that the
browser can follow when the mouse clicks on a node, and TARGET
to specify the target browser window.
Currently, only rectangular regions are implemented; the actual
shape of the nodes as specified in object
is ignored.
Also, tags for edges of the graph are currently not supported.
This function is typically used with the following sequence of steps:
Create a graph layout with agopen
Write HTML header.
Call the imageMap
function.
Optionally, write further text into the HTML connection.
Close HTML file.
The new API for plotting of graphs now also allows for this alternative procedure:
Lay out the graph object foo
using
layoutGraph
render the graph on a bitmap device using
renderGraph
like this:
foo <- renderGraph(foo)
Write HTML header.
Call the imageMap
on the graph object foo
.
Optionally, write further text into the HTML connection.
Close HTML file.
The function is called for its side effect, which is writing text into
the connection con
.
Wolfgang Huber http://www.ebi.ac.uk/huber
fhtml = paste(tempfile(), ".html", sep="") fpng =paste(tempfile(), ".png", sep="") if(capabilities()["png"] && interactive()) { ## Create a random graph, make tooltips and hyperlinks set.seed(123) g = randomEGraph(letters[14:22], 0.2) tooltip = paste("This is node", nodes(g)) url = paste("This could be a link for node", nodes(g)) names(url) = names(tooltip) = nodes(g) ## Open plot device width = height = 512 png(fpng, width=width, height=height) par(mai=rep(0,4)) ## Layout and render lg = agopen(g, name="My layout") plot(lg) ## Write an HTML file with the image map con = file(fhtml, open="wt") writeLines("<html><head><title>Click Me</title></head><body>\n", con) imageMap(lg, con, fpng, tags=list(HREF=url, TITLE=tooltip), width=width, height=height) writeLines("</body></html>", con) close(con) dev.off() cat("Now have a look at file", fhtml, "with your browser.\n") browseURL(fhtml) }
fhtml = paste(tempfile(), ".html", sep="") fpng =paste(tempfile(), ".png", sep="") if(capabilities()["png"] && interactive()) { ## Create a random graph, make tooltips and hyperlinks set.seed(123) g = randomEGraph(letters[14:22], 0.2) tooltip = paste("This is node", nodes(g)) url = paste("This could be a link for node", nodes(g)) names(url) = names(tooltip) = nodes(g) ## Open plot device width = height = 512 png(fpng, width=width, height=height) par(mai=rep(0,4)) ## Layout and render lg = agopen(g, name="My layout") plot(lg) ## Write an HTML file with the image map con = file(fhtml, open="wt") writeLines("<html><head><title>Click Me</title></head><body>\n", con) imageMap(lg, con, fpng, tags=list(HREF=url, TITLE=tooltip), width=width, height=height) writeLines("</body></html>", con) close(con) dev.off() cat("Now have a look at file", fhtml, "with your browser.\n") browseURL(fhtml) }