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

如何修改terra::plot()的图例内容?将区间替换为自定义标识

修改terra分类栅格的图例标识

当然可以修改图例内容,你可以通过两种方式实现自定义图例标识:

方法一:修改栅格的类别属性

先完成分类操作,再用levels()函数为栅格的类别设置自定义标签,后续绘图时会自动使用这些标签:

f <- system.file("ex/elev.tif", package="terra") 
r <- rast(f)
# 执行分类
d <- classify(r, c(100,200,300,400,500))
# 设置自定义类别标签,ID对应分类后的类别序号,label是你要显示的标识
levels(d) <- data.frame(ID=1:4, label=c("A", "B", "C", "D"))
# 绘图,图例将显示自定义标识
plot(d, type="classes", col=c("grey","red","cyan","yellow"))

方法二:绘图时直接指定图例标签

如果不想修改栅格本身的属性,可以在调用plot()时通过legend.args参数直接定义图例文本:

f <- system.file("ex/elev.tif", package="terra") 
r <- rast(f)
d <- classify(r, c(100,200,300,400,500))
# 绘图时传入自定义图例标签
plot(d, type="classes", col=c("grey","red","cyan","yellow"), 
     legend.args=list(text=c("A", "B", "C", "D")))

注意:使用第二种方法时,自定义标签的数量必须和分类的类别数完全一致,否则会出现图例不匹配的问题

内容的提问来源于stack exchange,提问作者user2955884

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:13:14