qplot堆栈条形图

use*_*394 2 charts r bar-chart ggplot2

我一直试图创建条形图一段时间,但我需要帮助:

name    <- c('t1','t2')
reading <- c('yyyggrggryyy','grgrgrrryyyy')
df <- data.frame(name, reading)
Run Code Online (Sandbox Code Playgroud)

读取值只能是'y','g'或'r',字符串的长度始终为12.我试图将读数"转换"为每个名称的堆积条形图,如下所示:

t1堆积条:

Color  Height
------ ------
yellow 3
green  2
red    1
green  2
red    1
yellow 3
Run Code Online (Sandbox Code Playgroud)

谢谢

42-*_*42- 7

> df <- data.frame(name=rep(name, each=12), 
                   reading=unlist(sapply(reading, strsplit, split="")))
> df
               name reading
yyyggrggryyy1    t1       y
yyyggrggryyy2    t1       y
yyyggrggryyy3    t1       y
yyyggrggryyy4    t1       g
snipped
grgrgrrryyyy4    t2       r
grgrgrrryyyy5    t2       g
grgrgrrryyyy6    t2       r
grgrgrrryyyy7    t2       r
grgrgrrryyyy8    t2       r
grgrgrrryyyy9    t2       y
grgrgrrryyyy10   t2       y
grgrgrrryyyy11   t2       y
grgrgrrryyyy12   t2       y

 qplot(reading,  data=df, geom="bar")+facet_grid(~name)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果你想要一个堆叠的条形图,那么你需要传递一个x参数,该参数对于你想要堆叠的分组变量是相同的:

qplot(x=name,  data=df)+facet_grid(~name)+geom_bar(aes(fill = reading))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述