相关疑难解决方法(0)

ggplot2:并排条形图,其中一个条形堆叠,另一个条形不堆叠

我正在尝试创建一个条形图,其中对于每个类别,绘制两个条形图(并排):一个用于“总计”,另一个由子组堆叠。例如,在下面的数据框中,“名称”将显示在 x 轴上。对于“names”中的每个类别,一个条形将代表“total”的值,另一个将是一个堆叠条形,代表“aaa”、“bbb”和“ccc”的值。我设法获得了“背靠背”图,但我不知道如何将“闪避”位置应用于这种情况以使条形并排。

df = data.frame(names = rep(LETTERS[1:3], each=4), 
                num = c(rep(c("aaa","bbb","ccc","total"), 3)), 
                values = c(1,2,3,7,2,2,5,10,3,4,2,9)))
p = ggplot(df, aes(x=factor(names))) + 
    geom_bar(data=subset(df,num=="total"), aes(y=values), stat="identity",width=.5) +
    geom_bar(data=subset(df,num!="total"), aes(y=-values,fill=factor(num)), stat="identity",width=.5) 
print(p)
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2

6
推荐指数
1
解决办法
5696
查看次数

ggplot2:geom_bar with group,position_dodge和fill

我正在尝试生成一个条形图,使得x轴是患者,每个患者都有多个样本.因此,例如(使用mtcars数据作为数据的模板):

library("ggplot2")
ggplot(mtcars, aes(x = factor(cyl), group = factor(gear))) +
   geom_bar(position = position_dodge(width = 0.8), binwidth = 25) +
   xlab("Patient") +
   ylab("Number of Mutations per Patient Sample")
Run Code Online (Sandbox Code Playgroud)

这会产生这样的东西:

在此输入图像描述

每个条形图代表每个患者的样本.

我想通过使用颜色填充条形图来添加关于每个患者样本的其他信息(例如,每个患者样本中的不同类型的突变).我以为我可以像这样指定fill参数:

ggplot(mtcars, aes(x = factor(cyl), group = factor(gear), fill = factor(vs))) +
   geom_bar(position = position_dodge(width = 0.8), binwidth = 25) +
   xlab("Patient") +
   ylab("Number of Mutations per Patient Sample")
Run Code Online (Sandbox Code Playgroud)

但这并不会为每个患者样本条形图产生"堆积条形图".我假设这是因为position_dodge()已设置.反正有没有绕过这个?基本上,我想要的是:

ggplot(mtcars, aes(x = factor(cyl), fill = factor(vs))) +
   geom_bar() +
   xlab("Patient") +
   ylab("Number of Mutations per Patient Sample")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是我列出的第一个图中有这些颜色.这可能与ggplot2有关吗?

r ggplot2 geom-bar

6
推荐指数
1
解决办法
1万
查看次数

绘制堆积条形图?

我有以下数据:

structure(list(Time = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 
7L, 7L, 7L, …
Run Code Online (Sandbox Code Playgroud)

charts r bar-chart ggplot2

3
推荐指数
1
解决办法
3419
查看次数

条形图:将一个堆叠条形图与一个躲避条形图结合起来

我正在尝试重新创建以下报告第 4 页上的条形图:

在此输入图像描述

该人物有三个条形,前两个堆叠在一起,第三个则躲在旁边。我见过这个问题的迭代,但没有一个以这种精确的方式重新创建这个数字。

这是数据:

a <- rep(c('RHB', 'FERS', 'CSRS'), 3)
b <- c(rep('Assets', 3), rep('Amount Past Due', 3), 
       rep('Actuarial Liability', 3))
c <- c(45.0, 122.5, 152.3, 47.2, 3.4, 4.8, 114.4, 143.4, 181.3)

df <- data.frame(a,b,c)
names(df) <- c('Fund', 'Condition', 'Value')
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经做到了:

p <- ggplot(subset_data, aes(fill=Condition, y=Value, x=Fund)) + 
  geom_bar(position="stack", stat="identity") + 
  coord_flip() 
Run Code Online (Sandbox Code Playgroud)

我并不偏爱,ggplot所以如果有另一个工具效果更好,我可以使用另一个包。

r ggplot2

2
推荐指数
1
解决办法
363
查看次数

标签 统计

ggplot2 ×4

r ×4

bar-chart ×2

charts ×1

geom-bar ×1