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

Gim*_*ist 1 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)
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

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

如果添加轴太难,那么就不是必需的。无论如何,y 轴上的单位是任意的(在我自己的数据中)。也许一种标准化数据的方法会起作用?

该网站上有几个答案,但它们都适用于 R 的基本图形,并且没有使用点阵。

MLa*_*oie 5

是你想要的吗?

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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述