使用默认放置方法调整晶格直接标签的字体大小

adjusting font size of directlabels for lattice with default placement method

当尝试使用 list(cex=2) 调整 directlabels 中的字体大小时,该函数不希望地向每个点添加标签。

library(lattice)
library(directlabels)
foo <- data.frame(x=1:10, y=c(1:5, (1:5)^2), z=c(1:10))
direct.label( xyplot( y + z ~ x, foo, type=c('l','g') ),
              list(cex=2) )

我更喜欢普通调用附带的默认标签放置(每组一个标签):

direct.label( xyplot( y + z ~ x, foo, type=c('l','g') ) )

指定一种位置方法,如下面的 first.points,为每组提供所需的标签,但这与我所追求的默认标签放置方法不同。

direct.label( xyplot( y + z ~ x, foo, type=c('l','g') ),
              list("first.points", cex=2) )

有谁知道哪个位置方法重现了默认的自动放置方法?或者有没有另一种方法可以在不指定位置方法的情况下更改标签字体大小?

本例使用的方法是"lines2":

direct.label(xyplot( y + z ~ x, foo, type=c('l','g') ),
             list("lines2", list(cex=2)) )

仅供参考,我通过快速浏览 getAnywhere("direct.label.trellis") 发现了这一点,这让我转向了 panel.superpose.dl()。要了解 it 在阅读

行中选择的方法
if (is.null(method)) 
    method <- default.picker("trellis")

我做了 debug(panel.superpose.dl)、运行 你第二个代码块中的代码,并逐步调试了调试器,直到我可以检查 default.picker() 选择了哪个方法。