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

R语言plot_glmnet绘图:修改标签字号与次坐标轴设置方法

plot_glmnet绘图:标签字体调整与次坐标轴设置

一、修改各类标签的字体大小

你当前代码里用的cex.lab(坐标轴标签)、cex.axis(刻度文字)、cex.main(标题)都是正确的用法,直接调整数值就能缩放对应字体大小。要是想单独调整图里标注的变量名(也就是label=5显示的那几个)的字体,加个cex.labels参数就行,示例代码如下:

library(glmnet)
library(plotmo)

windowsFonts(A = windowsFont("Times New Roman"))
plot_glmnet(lasso.mod, main ="Lasso", label=5,
            xlab= "Log(λ)", 
            ylab="Coefficients",
            cex.lab = 1.25,    # 坐标轴标签大小
            cex.axis = 1.25,   # 刻度文字大小
            cex.main = 1.25,   # 标题大小
            cex.labels = 1.1,  # 变量标签大小
            family="A")

二、给自动生成的次坐标轴加标签并调整

plot_glmnet默认在顶部生成的次坐标轴(显示当前λ对应的非零系数个数)没有标签,需要在绘图完成后手动添加和调整,步骤如下:

  1. 先绘制基础图形:
# 先执行绘图,保留默认的次坐标轴刻度
plot_glmnet(lasso.mod, main ="Lasso", label=5,
            xlab= "Log(λ)", 
            ylab="Coefficients",
            cex.lab = 1.25,
            cex.axis = 1.25,
            cex.main = 1.25,
            family="A")
  1. 添加次坐标轴标签并调整样式:
# 在顶部添加标签,line参数控制标签与坐标轴的距离
mtext("非零系数个数", side = 3, line = 2, cex = 1.25, family = "A")
# 如果觉得原有刻度字体大小不合适,重新绘制次坐标轴刻度
axis(3, cex.axis = 1.25, family = "A")

如果需要更精细的控制(比如自定义刻度位置),可以先用par("usr")获取当前坐标轴的范围,再自行设置刻度点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:33:30