2014-03-25 100 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")