格子:在同一个面板中绘制具有不同比例和轴的两条线

时间:2015-12-19 09:02:01

标签: r graph scale lattice axis-labels

我有这样的事情:

a <- c(1,4,2,8)
b <- c(100,80,40, 0)
c <- 1:4
x <- rep("foo",4)
y <- rep("bar",4)

df1 <- data.frame(c, y = a, gr = x)
df2 <- data.frame(c, y = b, gr = y)
df <- rbind(df1,df2)

xyplot(y ~ c, data = df, type = "l", group = df$gr)

结果如下:

enter image description here

我正在寻找一种方法,允许我更改比例,使蓝线填充整个面板区域,并在图的右侧添加相应的轴。

如果添加轴太硬,则不需要。无论如何,y轴上的单位是任意的(在我自己的数据中)。也许一种规范化数据的方法可行吗?

这个网站上有几个答案,但它们都是关于R的基本图形,没有使用格子。

1 个答案:

答案 0 :(得分:3)

这是你想要的吗?

library(latticeExtra)
library(dplyr)
dfgr <-df %>% filter(gr == "foo")
dfbar <-df %>% filter(gr == "bar")
obj1 <- xyplot(y ~ c, dfgr, type = "l")
obj2 <- xyplot(y ~ c, dfbar, type = "l")
doubleYScale(obj1, obj2, add.ylab2 = TRUE)

enter image description here