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

如何在R语言contourplot中自定义显示指定X轴标签

问题描述

我有如下结构的DataFrame:

y     x     z
1 33.12 27 0.1089740
2 33.38 27 0.1057790
3 33.62 27 0.1068951
4 33.88 27 0.1041899
5 34.12 27 0.1173378
6 34.38 27 0.1261724

其中x的取值范围为27到55,我使用以下R代码绘制等高线图:

library(lattice)
library(rasterVis)

contourplot(z ~ x*y, data = dat,
        xlab = 'Chronology (kya)', ylab = 'Longitude (º)',
        panel = panel.levelplot.raster,
        par.settings = rasterTheme(), colorkey = FALSE)

需要修改X轴标签:仅显示55、45、40、35、30,但保留所有数据的绘图展示。

解决方案

只需在contourplot函数中添加scales参数,指定X轴的刻度位置和对应标签即可,修改后的代码如下:

library(lattice)
library(rasterVis)

contourplot(z ~ x*y, data = dat,
        xlab = 'Chronology (kya)', ylab = 'Longitude (º)',
        panel = panel.levelplot.raster,
        par.settings = rasterTheme(), colorkey = FALSE,
        scales = list(x = list(at = c(55, 45, 40, 35, 30), 
                               labels = c("55", "45", "40", "35", "30"))))
  • at参数:指定要显示的X轴刻度对应的数值位置
  • labels参数:定义对应位置显示的标签文本(这里和数值一致,也可按需修改)

这样设置后,X轴只会显示指定的刻度标签,同时所有数据都会正常参与绘图,不会被过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:37:11