2012-07-23 89 views
3

给定一个分数向量(在域[0:1]上),我想绘制刚刚部分填充的顶点。 也就是说如果分数是1/2,则相应的顶点应该是半填充的(半球) 即,如果分数是1/4对应的顶点仅在四分之一(四分之一球体) 等等...R igraph部分填充顶点

library('igraph') 
N <- 10 
g <- graph.full(N) 
values <- runif(N,0,1) # vector of fractions 
V(g)$shape <-'circle' 

plot.igraph(g,...) 

例如: http://www.google.ch/imgres?q=three+quarter-filled+circle&um=1&hl=de&sa=N&biw=1024&bih=751&tbm=isch&tbnid=fCz7FZ6JG38DzM:&imgrefurl=http://www.clipartstation.com/clipart_indexer4/index/search%3Fkeywords%3DART&docid=UPphGFugM1pYGM&imgurl=http://www.clipartstation.com/clipart/resized/Math/Transformations/__100x100//three%252520quarters%252520blue%252520circle.gif&w=100&h=99&ei=ETsNUNDeHbCL4gTT5rjACg&zoom=1&iact=rc&dur=331&sig=101088608959992434501&page=1&tbnh=79&tbnw=80&start=0&ndsp=24&ved=1t:429,r:8,s:0,i:97&tx=49&ty=38

+0

例如:http://www.google.ch/imgres?q=three+quarter-filled+circle&um=1&hl=de&sa=N&biw=1024&bih=751&tbm=isch&tbnid=fCz7FZ6JG38DzM:&imgrefurl=http://www.clipartstation的.com/clipart_indexer4 /索引/搜索%3Fkeywords%3DART&的docID = UPphGFugM1pYGM&imgUrl的HTTP =://www.clipartstation.com/clipart/resized/Math/Transformations/__100x100//three%252520quarters%252520blue%252520circle.gif&w=100&h=99&ei= ETsNUNDeHbCL4gTT5rjACg&zoom = 1&iact = rc&dur = 331&sig = 101088608959992434501&page = 1&tbnh = 79&tbnw = 80&start = 0&ndsp = 24&ved = 1t:429,r:8,s:0,i:97&tx = 49&ty = 38 – 2012-07-23 11:53:21

回答

3

如果你有igraph包版本0.6,你应该能够使用pie顶点plot(),在这种情况下,你的代码是:

library(igraph) 
N <- 10 
g <- graph.full(N) 

values <- runif(N,0,1) # vector of fractions 
plot(g, vertex.shape="pie", vertex.pie=values, vertex.frame.color="white", 
    vertex.pie.color=list(heat.colors(5))) 

如果你没有这方面的工作(我没有),您可以找到代码here,您可以运行该代码,然后使用pie作为顶点。

+1

不应将'values'向量,例如'values < - lapply(runif(N,0,1),function(u)c(u,1-u))'? – 2012-07-23 14:28:10

+0

@DiscreteCircle:你的解决方案也不适用于我的igraph版本。但是,您从Gabor Csardi发布的帖子的超链接很好 - 完美的作品! THX – 2012-07-25 08:39:54

+0

@Vincent Zoonekynd:你说得对。如果派不应该只是一种颜色。 – 2012-07-25 08:42:42