geom_line连接错误轴上的点

时间:2016-03-22 10:31:21

标签: r ggplot2

考虑

data <- data.frame(A=runif(10), B=runif(10), Height=c(1:10))
library(reshape)
melted <- melt(data, id.vars="Height")
library(ggplot2)

ggplot(melted, aes(value, Height)) +
  geom_point()+
  scale_y_reverse(breaks=c(1:10)) +
  facet_wrap(~variable,scale="free_x")+
  geom_line(aes(group=variable))

geom_line是沿x轴连接点,但我希望它连接y刻度上的点,以显示我的数据的高度轮廓。我正在尝试coord_flip()并交换aes(x,y)个参数,但这对于facet_wrap中的scale参数不起作用。

附带问题: 在

scale_y_reverse(breaks=c(1:10)) +

我无法与c(1:10)交换Height,因为找不到该对象。这很奇怪,因为它在我的现实生活数据中起作用。

1 个答案:

答案 0 :(得分:1)

geom_line从最小x到最大连接线。为了以不同的顺序绘制线条,您需要使用geom_path

ggplot(melted, aes(value, Height)) +
  geom_point()+
  scale_y_reverse(breaks=c(1:10)) +
  facet_wrap(~variable,scale="free_x")+
  geom_path(aes(group=variable))

Pretty plot