簡體   English   中英

如何使用ggplot2獲取帶有自由刻度和條形圖的facet_grid圖?

[英]How I get a facet_grid plot, with free scales AND barplots, with ggplot2?

我正在(重新)學習ggplot2並嘗試獲取此特殊繪圖,事實證明這很容易避免。

早些時候,我發現了這個問題該問題很有用,但並不是我需要的一切。 這或多或少是您使用該問題的公認答案所獲得的:

## Packages & data:
require(dplyr)
set.seed(0)
df <- data.frame(categ=c("A", "B", "C"), 
                 V1=rpois(3, 20), 
                 V2=rnorm(3, 100, 40), 
                 V2=runif(3)) %>% gather(Var, X, 2:4)
## Se below in "Example data" for how to get this example

p  <- ggplot(df, aes(categ, X, color=Var)) + geom_point()
p + facet_grid(Var ~ ., scale="free")

結果圖是這樣的:

在此處輸入圖片說明

但是,我需要這樣做,只用條形圖而不是點數即可。 有人需要幫助嗎?

在此先感謝Juan

示例數據

請注意,我使用了tidyr::ghathermagrittr的管道%>%來創建我的示例,但是使用reshape2::melt可以實現相同的效果:

require(reshape2)
set.seed(0)
df <- data.frame(categ=c("A", "B", "C"), 
                 V1=rpois(3, 20), 
                 V2=rnorm(3, 100, 40), 
                 V2=runif(3))
df <- melt(df, id="categ", variable.name="Var", value.name="X")

無論如何,結果data.frame看起來像這樣:

categ  Var           X
    A   V1  25.0000000
    B   V1  18.0000000
    C   V1  25.0000000
    A   V2 150.8971729
    B   V2 116.5856574
    C   V2  38.4019983
    A V2.1   0.1765568
    B V2.1   0.6870228
    C V2.1   0.3841037

好的,我想起來更簡單,我只需要在geom_bar調用上添加stat = "identity"

p  <- ggplot(df, aes(categ, X, color=Var)) + geom_bar(stat="identity")
p + facet_grid(Var ~ ., scale="free")

顏色仍然不太好,但是更容易修復,我希望...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM