相关疑难解决方法(0)

ggplot2 - 叠加和闪避的条形图

我正在尝试创建一个条形图,使用ggplot2我在一个变量堆叠并由另一个变量躲避的地方.

这是一个示例数据集:

df=data.frame(
  year=rep(c("2010","2011"),each=4),
  treatment=rep(c("Impact","Control")),
  type=rep(c("Phylum1","Phylum2"),each=2),
  total=sample(1:100,8))
Run Code Online (Sandbox Code Playgroud)

我想创建一个条形图,其中x=treatment,y=total堆叠变量是type,并且躲闪变量是year.当然我可以做其中一个:

ggplot(df,aes(y=total,x=treatment,fill=type))+geom_bar(position="dodge",stat="identity")

ggplot(df,aes(y=total,x=treatment,fill=year))+geom_bar(position="dodge",stat="identity")
Run Code Online (Sandbox Code Playgroud)

但不是两个!感谢任何能提供建议的人.

r ggplot2

30
推荐指数
5
解决办法
2万
查看次数

ggplot中的分层轴?

我想知道是否可以在GGLPOT2(或其他图形包中制作分层/分段轴;我只是喜欢ggplot).

我想要做的是采取以下数据,制作一个堆积条形图,其中包含在x轴上的周期,但在每个周期内,每个动物也是如此.然后每只动物中的条形颜色将是"颜色"变量

set.seed(1234)
data <- data.frame(
    animal = sample(c('bear','tiger','lion'), 50, replace=T),
    color = sample(c('black','brown','orange'), 50, replace=T),
    period = sample(c('first','second','third'), 50, replace=T),
    value = sample(1:100, 50, replace=T))
Run Code Online (Sandbox Code Playgroud)

然后将其放入堆积条形图中:

library(ggplot2)
plot <- ggplot(data, aes(x=period, y=value, fill=color)) + 
    geom_bar(stat='identity')
Run Code Online (Sandbox Code Playgroud)

产生这个:

在此输入图像描述

但我真正想要的是,在每个栏中,每个动物有三个独立的堆叠条(按颜色堆叠).

我有一种感觉,我在这里缺少一个简单的语法,但"显而易见"的东西似乎不起作用,例如,

plot <- ggplot(data, aes(x=c(period,animal), y=value, fill=color)) + 
    geom_bar(stat='identity')
Run Code Online (Sandbox Code Playgroud)

r ggplot2

4
推荐指数
1
解决办法
967
查看次数

标签 统计

ggplot2 ×2

r ×2