8
我想達到以下結果:整數變量的氣泡圖,其中最大氣泡的直徑爲1(在x或y軸刻度上)?
- 重新調節氣泡的大小,使得所述最大氣泡具有直徑爲1的 (上取具有在x 軸和y軸的多個壓縮級)。
- 重新調節氣泡的大小,使得最小氣泡的直徑爲1毫米
- 具有與第一和最後一個點的最小非零 頻率和最大頻率的圖例。
我已經能夠做的最好的如下,但我需要一個更通用的解決方案,其中計算maxSize的值而不是硬編碼。如果我是在傳統的R圖中做的話,我會使用par(「pin」)來計算出繪圖區域的大小並向後工作,但我無法弄清楚如何使用ggplot2來訪問這些信息。有什麼建議麼?
library(ggplot2)
agData = data.frame(
class=rep(1:7,3),
drv = rep(1:3,rep(7,3)),
freq = as.numeric(xtabs(~class+drv,data = mpg))
)
agData = agData[agData$freq != 0,]
rng = range(agData$freq)
mn = rng[1]
mx = rng[2]
minimumArea = mx - mn
maxSize = 20
minSize = max(1,maxSize * sqrt(mn/mx))
qplot(class,drv,data = agData, size = freq) + theme_bw() +
scale_area(range = c(minSize,maxSize),
breaks = seq(mn,mx,minimumArea/4), limits = rng)
這裏是什麼樣子至今:
你是如何在你的榜樣到達 「20」 爲'maxSize'? – A5C1D2H2I1M1N2O1R2T1 2012-08-16 08:02:09