我喜歡facet_grid
相當多,並且經常發現我自己使用它與geom_histogram
。我也喜歡margins=foo
參數,因爲您可以看到所有分佈與聚合組相比。問題在於,當您包含邊際參數時,它會展開所有組以滿足通常更廣泛的邊距範圍,因爲您現在擁有所有數據。這意味着所有聚集的小組在規模上要寬得多,而且很難發現小組之間的差異。所以我對自己說:自我,你可以用尺度參數來解決這個問題,並允許y改變「。這個解決方案的問題是,現在很難比較聚集的組,因爲它們都有不同的尺度,我想要的是有邊距是免費的,但一切的約束,就好像雖然規模不是免費的。這可能嗎?ggplot2釋放餘量約束其餘
我在這裏介紹的代碼和圖片來證明我的意思。如果這是不明確的,請詢問。
#create some data
set.seed(10)
dat <- data.frame(var1=rpois(1000, 20),
var2=as.factor(sample(LETTERS[1:4], 1000, replace=T)),
var3=as.factor(sample(month.abb[1:5], 1000, replace=T)))
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3)
這裏的情節從我喜歡它,我可以很容易地比較對所有的分數,因爲他們的Y標尺是相同的,但不會是好的,有邊距或DIS聚集histogra ms以及比較。
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3, margins='var2')
好吧,所以我們把在margins
說法,現在我們可以比較,但所有的聚合組直方圖被拉伸到20,這讓他們比較困難的(見下圖)。好吧,讓我們設置scales
然後自由。這個例子是不可怕的數據是相當均勻分佈的int他抽樣的方法我用了,但在現實生活中一些細胞只有幾個數等都有大量的和比較是更糟
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3, margins='var2', scales="free_y")
所以,這裏是與秤免費的情節。問題是他們確實對於總分來說是免費的,並且比較他們是有問題的(一個是14個,一個8個,一個7個)。
那麼,有沒有一種方法讓剛margins
是免費的嗎?基本上我想要的是從第二個數字開始創建第一個數字,並將餘量拼接起來。
我的猜測是否定,雖然有一個相關的[功能請求](https://github.com/hadley/ggplot2/issues/187),這對我來說似乎更容易和更合理。 – joran
@joran我應該基於此做出功能請求嗎?如果是的話,人們如何去做呢? –