堆积条形图

WongSifu

我想使用ggplot2和geom_bar创建一个堆积图。

这是我的源数据:

Rank F1     F2     F3
1    500    250    50
2    400    100    30
3    300    155    100
4    200    90     10

我想要一个堆叠图表,其中x是排名,y是F1,F2,F3中的值。

# Getting Source Data
  sample.data <- read.csv('sample.data.csv')

# Plot Chart
  c <- ggplot(sample.data, aes(x = sample.data$Rank, y = sample.data$F1))
  c + geom_bar(stat = "identity")

这是我所能得到的。我不确定如何堆叠其余的字段值。

也许我的data.frame格式不正确?

研究

你说 :

也许我的data.frame格式不正确?

是的,这是真的。您的数据为格式,您需要以格式输入。一般而言,长格式更适合于变量比较

reshape2例如,使用以下命令执行此操作melt

dat.m <- melt(dat,id.vars = "Rank") ## just melt(dat) should work

然后您得到了您的barplot:

ggplot(dat.m, aes(x = Rank, y = value,fill=variable)) +
    geom_bar(stat='identity')

但是,使用latticebarchart智能公式符号,你不需要重塑你的数据,只是这样做:

barchart(F1+F2+F3~Rank,data=dat)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章