我想创建一个ggplot geom_line图,其中包含x轴上的连续数据和分类变量的百分比份额。 例如。对于mtcars,我想在x轴上有hp,在y轴上有6个柱面的汽车的百分比。
ggplot2(aes(x=hp,y=cyl), data=mtcars) +
geom_line()
我认为需要通过fun.y或类似的东西在geom_line中定义。
答案 0 :(得分:3)
预先计算频率,例如使用重塑:
library(reshape)
M <- melt(mtcars,id.vars="hp",measure.vars="cyl")
C <- cast(M,hp~ variable)
C$f <- C$cyl/sum(C$cyl)
ggplot(C,aes(x=hp,y=f)) +
geom_line()
请注意,在这种情况下,线图似乎没有多大意义,数据点太过分了。您可以改为使用条形图:
ggplot(C,aes(x=hp,y=f)) +
geom_bar(stat="identity")