2014-03-25 102 views
2

我正在使用气泡图来直观呈现数据。我现在面临的问题是面积小的气泡较大泡沫的背后隐藏着一个气泡图中R.气泡图中较大气泡背后隐藏的气泡很少

V1 V2       V3  V4 
fl unfair business practices 14  Y 
fl Corrections     1  Y 
fl Product differs    1  Y 
fl refund not paid    0  Y 
fl Single premium    0  Y 
fl unfair business practices 52  N 
fl Corrections     63  N 
fl Product differs    9  N 
fl refund not paid    2  N 
fl Single premium    2  N 
mc unfair business practices 19  Y 
mc Corrections     0  Y 
mc Single premium    0  Y 
mc unfair business practices 36  N 
mc Corrections     2  N 
mc Single premium    2  N 

symbols(dat1$V2, dat1$V1, circles=dat1$V3) 
radius <- sqrt(dat1$V3/ pi) 
symbols(dat1$V2, dat1$V1, circles=radius, inches = 0.35, fg = "dark blue", bg = "red", xlab = "CASE REASON", ylab = "WORDS") 

我的问题是(比方说)V1 =“FL”和V2 =“不正当商业行为”在我的数据中出现两次,我正在绘制2个泡泡,但较小的一个隐藏在较大的泡泡后面。我想让小图在我的图中可见

另外我想用V4列来表示气泡的颜色。例如:如果V4 =“Y”,我希望气泡变红,否则我希望它变成绿色。

任何帮助,将不胜感激。 感谢

回答

1

如果让较小的圆是在data.frame结束您的数据进行排序:

dat1 <- dat1[order(dat1$V3, decreasing=TRUE),] 

(并确保您在新的DAT1计算半径 - 或circles = dat1$V3/pi替换circles=radius)那么它应该会有所帮助(但是如果一组小的圆圈现在完全模糊了一个较大的圆圈,那么您将永远无法看到所有的数据!)

您可以只改变你的fg和bg常量符号呼叫,例如bg=ifelse(dat$V4=="Y", "red", "green")