【问题标题】:Look and feel of legend in lattice plots格子图中的传奇外观
【发布时间】:2012-10-09 01:26:17
【问题描述】:

我正在寻找 1) “A”、“B”和“C”之间的更多垂直空间,“\n”不是我想要的解决方案。 2)我想改变符号和文本的绘制顺序。这意味着,首先我想绘制图例的线条,然后是该文本。

 attach(mtcars)
 gear.f<-factor(gear,levels=c(3,4,5),
 labels=c("3gears","4gears","5gears"))
 cyl.f <-factor(cyl,levels=c(4,6,8),
 labels=c("4cyl","6cyl","8cyl"))

 densityplot(~mpg|cyl.f,
      main="Density Plot by Number of Cylinders",
      xlab="Miles per Gallon"
     ,par.settings = list(superpose.line = list(col=c(1,2,3)))
     ,auto.key=list(corner = c(.98, .02),text = c("A", "B", "C")
                   ,lines=T,points=F)
            ) 

【问题讨论】:

    标签: r lattice


    【解决方案1】:

    我认为从美学角度来看这更好,但您可以通过更改关键参数的“x”和“y”参数来移动它以适应您的感受:

     densityplot(~mpg|cyl.f,
          main="Density Plot by Number of Cylinders",
          xlab="Miles per Gallon"
         ,par.settings = list(superpose.line = list(col=c(1,2,3)))
         ,key = list(lines = list(col=c("black", "red", "green")),
                      text = list(c("A", "B", "C")), x=0.8, y=0.8, corner.x=0,corner.y=0 )
                )
    

    我认为你不能使用“auto.key”或“simpleKey”来做到这一点。)

    【讨论】:

    • 谢谢!当我用 tikzDevice 导出这个图时,我得到一个带框的图例,是否有不打印框架的关键?整个图形周围还有一个框架,我可以把它关掉吗?
    • 在键列表中使用border=FALSE 来抑制图例边框。我认为您需要查看 tikzDevice 文档,因为我刚刚尝试过的另外两个“典型设备”没有框架。
    • 如果我尝试下面的例子,图例和整个图形都是框架 tikz('./test.tex',width=5, height=5, standAlone=TRUE) densityplot(~mpg|cyl. f ,layout=c(3,1) ,par.settings = list(superpose.line = list(col=c(1,2,3))) ,key = list(lines = list(col=c("black ", "red", "green")), text = list(c("A", "B", "C")) , x=0.8, y=0.1 ,border=F ) ) dev.off()
    • 从源代码安装了新版本的 tikzDevice。我没有看到您在我的机器上描述的功能(Mac、Snow leopard、R 2.15.1、tikzDevice v0.6.2-92-0ad2792)。上面代码的输出是 3 个并排的面板,图例或图形周围没有边框。 (图例位置不佳。)我认为您需要直接与维护者打交道。
    猜你喜欢
    • 1970-01-01
    • 2021-10-11
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    相关资源
    最近更新 更多