如何在R的hexplom()六角箱线图中移除变量面板内的刻度与数值?
问题描述
使用hexbin包的hexplom()函数绘制连续变量的散点图矩阵,数据格式示例如下:
dep_delay temp dewp humid wind_speed precip visib date 1 39.02 28.04 64.43 11.50 13.24 0.00 10.00 2013-01-01 ... 301 43 39.20 30.20 69.88 14.96 0.00 3.0 2013-03-25 ... 1253 392 46.04 42.98 88.99 4.60 0.00 10.0 2013-12-21
当前使用的绘图代码:
library(hexbin) hexplom(~df_w_delays_num[1:7] , data = df_w_delays_num, xbins = 15, colramp = BTC, varnames = c("dep\ndelay", "temp", "dew", "humidity", "wind\nspeed","wind\ngust", "precipi\ntation", "visibility"))
遇到的问题:变量面板内的刻度线和数值标签遮挡了自定义的变量名称,需要移除这些遮挡元素。
解决方案
hexplom()基于lattice框架实现,可通过lattice相关参数控制轴元素的显示:
方法1:完全隐藏所有轴的刻度和标签
添加scales参数并设置draw=FALSE,一次性隐藏所有面板的轴刻度与标签:library(hexbin) hexplom(~df_w_delays_num[1:7] , data = df_w_delays_num, xbins = 15, colramp = BTC, varnames = c("dep\ndelay", "temp", "dew", "humidity", "wind\nspeed","wind\ngust", "precipi\ntation", "visibility"), scales = list(draw = FALSE))方法2:仅隐藏轴数值标签(保留刻度线可选)
若需保留刻度线但隐藏数值标签,可单独设置labels=FALSE;若连刻度线也需隐藏,再添加tck=0:hexplom(~df_w_delays_num[1:7] , data = df_w_delays_num, xbins = 15, colramp = BTC, varnames = c("dep\ndelay", "temp", "dew", "humidity", "wind\nspeed","wind\ngust", "precipi\ntation", "visibility"), scales = list(x = list(labels = FALSE, tck = 0), y = list(labels = FALSE, tck = 0)))方法3:精细控制轴元素样式
通过par.settings参数设置轴文本颜色为透明,或直接隐藏轴线条,避免遮挡变量名称:hexplom(~df_w_delays_num[1:7] , data = df_w_delays_num, xbins = 15, colramp = BTC, varnames = c("dep\ndelay", "temp", "dew", "humidity", "wind\nspeed","wind\ngust", "precipi\ntation", "visibility"), par.settings = list(axis.text = list(col = "transparent"), axis.line = list(col = "transparent")))
内容的提问来源于stack exchange,提问作者Bluetail
相关产品推荐
相关产品推荐

