1

我正在研究堆栈条形图,这是测试代码:

dat <- read.table(text="
cars    trucks  suvs
10   40   25
20   20   35
30   15   25
50   25   30
20   30  15", header=TRUE, as.is=TRUE)
dat$day <- factor(c("Mo", "Tu", "We", "Th", "Fr"), 
                  levels=c("Mo", "Tu", "We", "Th", "Fr"))

library(reshape2)
library(ggplot2)

mdat <- melt(dat, id.vars="day")
head(mdat)
ggplot(mdat, aes(variable, value, fill=day)) + 
  geom_bar(stat="identity", position="stack")+coord_flip()

我想要的是:我想知道我是否可以更改图中每个变量的组因子(dat$day)的顺序。目标是为每个变量提供具有不同顺序颜色的相同条形图。更改颜色顺序并不难,但不同的顺序是另一回事。实际上,我希望将第一种颜色分配给每个变量的最大值。

我希望我足够具体。提前致谢。

4

1 回答 1

2

我立即想到的是来自的arrange函数dplyr(它基本上什么都不做,只是为了订购一个数据框 - “按变量排列行。”):

ggplot(arrange(mdat,variable,desc(value)), aes(variable, value, fill=day)) + 
    geom_bar(stat="identity", position="stack")+coord_flip()

阴谋

于 2015-05-21T09:21:58.797 回答