I've never used any graph plotting package in R, I'm familiar with basic plotting commands and with
The igraph package seems to fulfill your requirements, with the
tkplot() function helping adjusting the final layout if needed.
Here is an example of use:
s <- cbind(A=sample(letters[1:4], 100, replace=TRUE), B=sample(letters[1:2], 100, replace=TRUE)) s.tab <- table(s[,1], s[,2]) library(igraph) s.g <- graph.incidence(s.tab, weighted=T) plot(s.g, layout=layout.circle, vertex.label=c(letters[1:4],letters[2:1]), vertex.color=c(rep("red",4),rep("blue",2)), edge.width=c(s.tab)/3, vertex.size=20, vertex.label.cex=3, vertex.label.color="white")
With the interactive display (there's a possibility of using
rgl for 3D display), it looks like (I have slightly moved one vertex afterwards):
tkplot(s.g, layout=layout.circle, vertex.color=c(rep("red",4),rep("blue",2)))
Finally, you can even export you graph into most common format, like
dot for graphviz.