如何用base R在ggplot2轴标签的expression()中添加撇号?
解决R中ggplot表达式标签的撇号显示问题
你遇到的是R字符串中单引号的闭合冲突问题,以下是两种无需额外包的base R解决方案:
方法1:用双单引号转义
在expression()内部,连续写两个单引号即可表示一个单引号,R会正确识别为符号而非字符串闭合标记:p <- ggplot(df_uv_prime, aes(x = u_prime, y = v_prime)) + geom_point(colour = "blue") + labs(x = expression(log[2](u^{''} + 1)), y = expression(log[2](v^{''} + 1))) + xlim(0, 1) + ylim(0, 1)方法2:使用plotmath的
prime()函数
R的plotmath语法内置了prime()函数,专门用于表示撇号(导数符号),写法更规范:p <- ggplot(df_uv_prime, aes(x = u_prime, y = v_prime)) + geom_point(colour = "blue") + labs(x = expression(log[2](u^prime + 1)), y = expression(log[2](v^prime + 1))) + xlim(0, 1) + ylim(0, 1)
注意:如果你的数据实际是原始值而非log2(x+1)转换后的值,建议先转换数据再绘图,或者用scale_x_continuous(trans = "log2")并调整偏移,避免标签和实际轴刻度不匹配的问题。
内容的提问来源于stack exchange,提问作者compbiostats
相关产品推荐
相关产品推荐

