You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用Lattice的auto.key或key实现点数据图例显点、线数据图例显线

Lattice 图例分类型显示标记的最简实现方案

你需要的效果可以通过auto.key的原生向量参数直接实现,无需手动构造复杂的key列表:
auto.key的points和lines参数支持传入与绘图系列等长的逻辑向量,每个位置的取值对应对应系列是否在图例中显示点/线标记,刚好匹配你分配的系列类型。

修改后的示例代码如下:

x <- seq(0, 8*pi, by=pi/6)

Y1pred <- sin(x)
Y1obs <- Y1pred + rnorm(length(x), mean=0, sd=0.2)
Y2pred <- cos(x)
Y2obs <- Y2pred + rnorm(length(x), mean=0, sd=0.4)
 
xyplot(Y1obs + Y2obs + Y1pred + Y2pred ~ x, 
        type=c('p','p','l','l'), 
        distribute.type=TRUE,
        # 四个逻辑值分别对应四个系列:Y1obs、Y2obs、Y1pred、Y2pred
        auto.key=list(points = c(TRUE, TRUE, FALSE, FALSE),
                      lines = c(FALSE, FALSE, TRUE, TRUE),
                      columns=2)
        )

该方案和Deepayan著作中提到的手动构造key列表的方案效果完全一致,但代码量大幅缩减,逻辑也和你已经设置的type参数一一对应,不需要额外定义图例文本、颜色、标记样式等属性,所有样式会自动继承绘图参数的设置。

内容的提问来源于stack exchange,提问作者Seth W. Bigelow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:54:03