我(重新)学习ggplot2
并试图让这一点变得特别
情节,这证明是相当回避。
早些时候我找到了this question, 这很有用,但不是我需要的一切。这或多或少都是你得到的 使用Q的接受答案:
## 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")
结果图如下:
然而,我需要做同样的事情,只需要用条形图而不仅仅是积分。 有人帮忙吗?
提前致谢, 涓
请注意,我使用tidyr::ghather
和magrittr
的管道%>%
来创建我的。{1}}
例如,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
答案 0 :(得分:0)
好的,我认为这更简单,我只需要在stat = "identity"
电话上添加geom_bar
:
p <- ggplot(df, aes(categ, X, color=Var)) + geom_bar(stat="identity")
p + facet_grid(Var ~ ., scale="free")