这是一个应急表的结果:
rating high low medium
1 158 1 36
2 77 2 25
3 106 10 36
4 82 56 71
5 60 97 62我需要创建这样一个集群条形图:

我该怎么做呢?我试过酒吧图和格图,但它们都没有用。
发布于 2017-09-30 21:32:30
让它与ggplot一起工作的诀窍是,您实际上需要三条信息: 1) rating,2) high、medium和low的值,3)用于区分的颜色。问题是,数据目前没有这种格式。我们可以使用来自gather的tidyverse函数来解决这个问题,然后绘制数据。
library(tidyverse)
dat = data_frame(rating=1:5, high=c(158, 77, 106, 82, 60), medium=c(1, 20, 10, 56, 97), low=c(36,25,36,71,62))
dat = dat %>%
gather(key=color, value=value, -rating)
ggplot(data=dat, aes(x=rating, y=value, fill=color)) +
geom_bar(stat='identity', position='dodge')基本上,gather的工作方式是使用一组列并使用列名作为值--新创建的key变量(我们称之为颜色),以及这些列的值作为新创建的value列中的值(我们称之为值)。
https://stackoverflow.com/questions/46507099
复制相似问题