
目录0、引言1、方法1使用 expression() 在 labs() 或 scale_*_manual() 中示例数据在颜色图例中添加公式在图例标签中使用公式2、方法2使用 bquote() 和 .() 插入变量值动态变量3、方法3多行公式或复杂表达式4、方法4图例标题使用复杂表达式5、方法5使用 scale_color_discrete() 的 labels 参数推荐比较自动附录常用的数学表达式语法0、引言在ggplot2中图例添加公式数学表达式主要有以下几种方法我会按常用程度和灵活性排序介绍1、方法1使用 expression() 在 labs() 或 scale_*_manual() 中library(ggplot2)示例数据df-data.frame(x1:10,y1:10,grouprep(c(A,B),each5))在颜色图例中添加公式ggplot(df,aes(x,y,colorgroup))geom_point(size3)labs(colorexpression(alphabeta^2))# 图例标题使用公式在图例标签中使用公式ggplot(df,aes(x,y,colorgroup))geom_point(size3)scale_color_manual(valuesc(red,blue),labelsc(expression(alpha),expression(beta^2))# 标签使用公式)2、方法2使用 bquote() 和 .() 插入变量值动态变量my_var-2ggplot(df,aes(x,y,colorgroup))geom_point(size3)scale_color_manual(valuesc(red,blue),labelsc(bquote(alpha.(my_var)),# 插入变量值bquote(beta^2.(my_var^2))))3、方法3多行公式或复杂表达式使用 atop() 或 paste() 组合多个表达式# 多行公式ggplot(df,aes(x,y,colorgroup))geom_point(size3)scale_color_manual(valuesc(red,blue),labelsc(expression(atop(alpha,beta)),# 上下排列expression(paste(alpha, ,beta))# 水平排列))4、方法4图例标题使用复杂表达式ggplot(df,aes(x,y,colorgroup))geom_point(size3)labs(colorexpression(frac(alpha,beta)~gamma^{2}))5、方法5使用 scale_color_discrete() 的 labels 参数推荐比较自动# 直接替换标签颜色自动分配ggplot(df,aes(x,y,colorgroup))geom_point(size3)scale_color_discrete(labelsc(Aexpression(alpha),# A 显示为 αBexpression(beta))# B 显示为 β)附录常用的数学表达式语法# 常用符号expression(alpha)# αexpression(beta)# βexpression(gamma)# γexpression(Delta)# Δexpression(Omega)# Ω# 上下标expression(x^2)# 上标expression(x[2])# 下标expression(x^{23})# 复杂上标# 分数expression(frac(a,b))# a/b# 根号expression(sqrt(x))# √xexpression(root(3,x))# 三次根# 求和/积分expression(sum(x[i],i1,n))expression(integral(f(x)*dx))# 希腊字母 上下标组合expression(alpha[1]^2)# 空格控制expression(alpha~beta)# 有空格expression(alpha*beta)# 无空格expression(alphabeta)# 加号