R 传递auto.key以在键中绘制符号的参数

R 传递auto.key以在键中绘制符号的参数,r,lattice,R,Lattice,我正在尝试创建一个xyplot,其中键位于右侧,符号和线条(也必须在键中给出)。我正在运行以下代码: xyplot(value ~ variable | conditionCol1 + conditionCol2, data = rt, groups = groupingCol, type = "o", pch = 1:6, auto.key = list(space = "right", pch = 1:6),

我正在尝试创建一个xyplot,其中键位于右侧,符号和线条(也必须在键中给出)。我正在运行以下代码:

xyplot(value ~ variable | conditionCol1 + conditionCol2,
              data = rt, groups = groupingCol, type = "o", pch = 1:6,
              auto.key = list(space = "right", pch = 1:6),
              xlab = "Instance Size",
              ylab = "Execution Time")

返回的图形是正确的,对于不同的组,它有两条线和不同的符号,但是键中的所有符号都以圆圈的形式出现…

与其将
pch
作为自己的参数传递,不如将其作为
par.settings
参数的一个组件传递。这将确保图形和键使用相同的参数

诀窍是确定要使用
par.settings
的哪个组件。在这种情况下,它将是
supplose.symbol
,因为
panel.supplose
是使用
group
参数时使用的面板函数,并且您希望更改打印的符号。因此:

xyplot(value ~ variable | conditionCol1 + conditionCol2,
              data = rt, groups = groupingCol, type = "o",
              par.settings = list(superpose.symbol = list(pch = 1:6)),
              auto.key = list(space = "right"),
              xlab = "Instance Size",
              ylab = "Execution Time")
并使用可复制的数据集:

library(ggplot2)
xyplot(cty ~ hwy | cyl + fl,
              data = mpg, groups = year, type = "o",
              par.settings = list(superpose.symbol = list(pch = 1:6)),
              auto.key = list(space = "right"),
              xlab = "Instance Size",
              ylab = "Execution Time")

不要将
pch
作为自己的参数传递,而是将其作为
par.settings
参数的一个组件传递。这将确保图形和键使用相同的参数

诀窍是确定要使用
par.settings
的哪个组件。在这种情况下,它将是
supplose.symbol
,因为
panel.supplose
是使用
group
参数时使用的面板函数,并且您希望更改打印的符号。因此:

xyplot(value ~ variable | conditionCol1 + conditionCol2,
              data = rt, groups = groupingCol, type = "o",
              par.settings = list(superpose.symbol = list(pch = 1:6)),
              auto.key = list(space = "right"),
              xlab = "Instance Size",
              ylab = "Execution Time")
并使用可复制的数据集:

library(ggplot2)
xyplot(cty ~ hwy | cyl + fl,
              data = mpg, groups = year, type = "o",
              par.settings = list(superpose.symbol = list(pch = 1:6)),
              auto.key = list(space = "right"),
              xlab = "Instance Size",
              ylab = "Execution Time")

你能发布一个可复制的示例,例如你的部分数据吗?我不能发布我的部分数据,因为它在数据保护合同下,但这里有一个通用的示例:你能发布一个可复制的示例,例如你的部分数据吗?我不能发布我的部分数据,因为它在数据保护合同下,但这里有一个通用的示例: