我正在尝试在格子中制作图形,并且根据逻辑变量显示键。也就是说,只有在逻辑变量为真时才会出现(这将在R-shiny网站上显示,用户将指示他们是否需要密钥)。问题在于,我希望键出现在图表的右侧 - 而不是在绘图区域。
我可以使用key=
并使用space="right"
选项获取右侧的密钥,但没有明显的方法来打开和关闭密钥
或者我可以使用draw.key()
功能并使用draw=
选项打开和关闭键,但是键位于绘图区域而不是右侧。所以我想我会使用if()
语句来触发key
选项 - 但这不起作用。没有绘制任何键,逻辑语句被忽略。我怎样才能让它发挥作用?
可重复的例子:
library(lattice)
A<-rnorm(1:100)
B<-rnorm(1:100)
K<-TRUE
xyplot(A~B,
if(K==TRUE) {
key=list(lines=list(color="blue")), space="right")
},
panel=function(x,y,...){
panel.xyplot(x,y,...)
}
)
编辑添加:在代码的其他部分,if语句用于触发键中出现的元素,这使我对此更加神秘。
答案 0 :(得分:2)
您需要将if语句的值分配给key
(在正确的范围内):
xyplot(A~B, key=
if(K) {
key=list(lines=list(color="blue"))
},
panel=function(x,y,...){
panel.xyplot(x,y,...)
}
)
(您可以删除内部key=
)