Sud*_*dhi 9 charts r bar-chart ggplot2
我有以下图表
test <- data.frame(person=c("A", "B", "C", "D", "E"),
value1=c(100,150,120,80,150),
value2=c(25,30,45,30,30) ,
value3=c(100,120,150,150,200))
Run Code Online (Sandbox Code Playgroud)
我想为每个人绘制一个分组的条形图(水平),其中一个条形指示value1而另一个条形是堆栈的value2和value3.有没有办法用ggplot2做到这一点?我可以使用构面将这些单独的图形一个接一个地绘制下来吗?
Vic*_* K. 35
以下是我提出的建议,类似于此处提出的解决方案:分组条形图中的堆叠条形图
融化data.frame并添加一个新列cat
library(reshape2) # for melt
melted <- melt(test, "person")
melted$cat <- ''
melted[melted$variable == 'value1',]$cat <- "first"
melted[melted$variable != 'value1',]$cat <- "second"
Run Code Online (Sandbox Code Playgroud)绘制堆积图表cat与value面对面person.您可能需要调整标签以获得所需内容:
ggplot(melted, aes(x = cat, y = value, fill = variable)) +
geom_bar(stat = 'identity', position = 'stack') + facet_grid(~ person)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32177 次 |
| 最近记录: |