如何在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
相关产品推荐
相关产品推荐

