R中的抛光蜘蛛网图:如何突出特定的感兴趣区域?

时间:2013-01-11 10:13:17

标签: r plot data-visualization

使用library(plotrix)中的radial.plot函数(第135-8页)并使用CrossValidated中的有用帖子,我已经制作了 spiderweb plot 。< / p>

enter image description here

问题

该图显示每个项目的治疗和对照组之间的平均差异。然而,我对积极的变化特别感兴趣。因此,我想强调值> = 0.为此,我寻求

  • 将圆线绘制为0值黑色

  • 使值<= 0的区域,即在0圈内,更透明(“更轻”)。

我很高兴分享我用来制作蜘蛛网情节的代码:

items.M<-c(-0.15,0.05,0.12,-0.12,-0.02,0.27,0.53,0,-0.33,0.19,0.34)
items.J<-c(-0.09,0.08,1.63,-0.1,-0.1,-0.09,0.15,0.05,-0.12,0.51,0.02)
items.names<-c("item 1", "item 2", "item 3", "item 4", "item 5", "item 6", "item 7", "item 8", "item n1", "item n2", "item n3")


spider.data<- rbind(items.M, items.J)


library(plotrix)
radial.plot(spider.data,
  labels=items.names,
  rp.type="p",
  radial.lim=c(-0.4,1.7),
  poly.col=c(rgb(255/255, 215/255, 0, .8), rgb(0, 0, 1, .8)),
  line.col=c("black", "black"),
  lwd=1)

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

对于透明度,您可以使用alpha包的grid图形参数设置。首先,我使用gridBase包将gridgraphics合并。

你得到这样的东西:

enter image description here

library(gridBase)
vps <- baseViewports()
vp <- vps$plot
vp$gp <-gpar(alpha=0.3)   # you can play with alpha here
pushViewport(vp)
grid.circle(r=unit(vp$xscale/6,'native'),    # /6 to get the small circle
         gp=gpar(fill='white',col='black'))
upViewport()
pushViewport(vps$plot)
grid.circle(r=unit(vp$xscale/6,'native'),
        gp=gpar(fill='NA',col='black',lwd=2))  ## line width = 2 to show the black line effect
upViewport()