我有数据随着时间的推移绘制四个不同的变量.我想使用facet_grid将它们组合在一个图中,其中每个变量都有自己的子图.以下代码类似于我的数据和我呈现它的方式:
require(ggplot2)
require(reshape2)
subm <- melt(economics, id='date', c('psavert','uempmed','unemploy'))
mcsm <- melt(data.frame(date=economics$date, q=quarters(economics$date)), id='date')
mcsm$value <- factor(mcsm$value)
ggplot(subm, aes(date, value, col=variable, group=1)) + geom_line() +
facet_grid(variable~., scale='free_y') +
geom_step(data=mcsm, aes(date, value)) +
scale_y_discrete(breaks=levels(mcsm$value))
Run Code Online (Sandbox Code Playgroud)
如果我遗漏了scale_y_discrete,R会抱怨我正在尝试将离散值与连续比例相结合.如果我包括scale_y_discreate,我的连续系列会错过它们的比例.
有没有任何巧妙的方法来解决这个问题,即.让所有秤都正确吗?我还看到图例按字母顺序排序,我可以更改它,以便图例的顺序与子图的顺序相同吗?