You need to enable JavaScript to run this app. 如何在R语言中调整UpSet图的y轴标题位置?
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中调整UpSet图的y轴标题位置?

UpSet图Y轴标题位置调整方案

UpSetR基于R的base绘图系统渲染,你可以通过以下两种方式调整Y轴标题位置,解决长变量名导致的标题偏移问题:

方法1:调用绘图函数时直接通过内置参数调整

upset()提供了专门的参数控制不同坐标轴的元素间距:

  • 调整左侧集合大小Y轴:传入set_size.mgp参数,对应base绘图的mgp参数,三个数值分别为「轴标题距离、刻度标签距离、轴线距离」,默认值为c(3,1,0),调小第一个值即可让标题右移。
  • 调整上方交集柱状图Y轴:传入mainbar.mgp参数,规则同上。
  • 若左侧留白过多,可先通过par(mar)调整全局绘图边距,四个数值分别对应下、左、上、右的边距大小。

示例代码如下:

library(UpSetR)
library(dplyr)

movies <- read.csv( system.file("extdata", "movies.csv", package = "UpSetR"), header=TRUE, sep=";" )

movies_upd <- movies %>%
    dplyr::select(
        moviechoiceAdventurefilm = Adventure,
        Children,
        Action
    ) %>% 
    as.data.frame()

# 按需调整边距,第二个值对应左边距
par(mar = c(2, 3.5, 2, 1))
# 调整两个Y轴的标题距离
upset(
  movies_upd,
  set_size.mgp = c(1.2, 1, 0), # 左侧Y轴标题右移
  mainbar.mgp = c(1.5, 1, 0)   # 上方柱状图Y轴标题下移
)

方法2:手动重设标题实现灵活控制

如果需要更自由的位置调整,可以先关闭默认标题,再通过title()函数手动添加并控制位置:

# 关闭默认的集合大小Y轴标题显示
upset(movies_upd, set_size.show = FALSE)
# 手动添加Y轴标题,line参数越小,标题越靠近绘图区
title(ylab = "集合元素数量", line = 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 03:45:07