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

如何在R绘图(rpart.plot)中用Unicode显示上下式希腊字母分数

在rpart.plot中显示上下式分数形式的希腊字母标签

要在rpart.plot生成的决策树中显示上下式的分数(如$\frac{\nu_1}{4\beta}$),可以利用R的数学表达式系统结合rpart.plot的var.names参数实现,具体方案如下:

核心思路

rpart.plot支持接收R的expression()对象作为变量标签,通过frac()函数可生成标准上下式分数,希腊字母用对应TeX风格命令(如nu对应ν,beta对应β)表示,下标则通过[]语法实现。

修改后的可复现代码

library(rpart.plot)
library(rpart)

set.seed(1234)

# 保持数据列名简洁,后续通过参数替换为数学表达式
df <- data.frame(
  nu = c(rnorm(mean = 1, n = 100), rnorm(mean = 2, n = 50)),
  rho = c(rnorm(n = 50), rnorm(sd=2, n=100)),
  cl = c(rep("TRUE", 100), rep("FALSE", 50))
)

tree <- rpart(cl ~ ., data = df)

# 传入自定义数学表达式作为变量标签
rpart.plot(
  tree, 
  type = 4, 
  extra = 0, 
  branch.lty = 3, 
  box.palette = "RdYlGn",
  # 按预测变量顺序指定标签,生成上下式分数
  var.names = c(
    expression(frac(nu[1], 4*beta)),  # ν₁/4β的上下式形式
    expression(rho[2])                # 带下标的ρ₂
  )
)

关键说明

  • frac(分子, 分母):R表达式中生成上下式分数的专用函数,直接实现分子在上、分母在下的排版效果。
  • 希腊字母与下标:在expression()内,nu对应ν、beta对应β,nu[1]会渲染为带下标1的ν₁。
  • var.names参数:需严格匹配模型中预测变量的顺序,这里模型的预测变量为nu和rho,因此对应传入两个表达式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:52:22