ggplot2使用bquote设置含上下标副标题时报错如何解决?
问题原因
你遇到的报错是R的plotmath表达式语法规则导致的:在bquote的表达式中,不加分隔符直接写5.0x10会被R识别为一个以数字开头的非法变量名,无法完成解析,因此抛出语法错误。原写法中5.0 ~ x ~ 10用~加了空格分隔,x被识别为单独的字符对象,因此可以正常运行。
解决方法
用plotmath语法中的无空格连接符*拼接各部分即可实现无空格效果,有两种常用写法可选:
方案1:保留小写x作为乘号标识
将x用引号包裹为字符串,用*做无空格连接:
subtitle = bquote(All~Subjects~as~Treated~at~5.0 * "x" * 10^7~TCID[50])
方案2:使用规范数学乘号(更符合科技写作规范)
用%times%输出标准的×乘号,自动无空格拼接:
subtitle = bquote(All~Subjects~as~Treated~at~5.0 %times% 10^7~TCID[50])
两种方案都可以去掉5和10之间的多余空格,同时保留7为上标、50为下标的格式要求,不会触发报错。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

