如何用ggtext的<sub>和<sup>标签实现同一元素紧凑上下标并消除间距?
解决ggtext上下标与主文本间距过大的问题
你的问题出在默认的<sup>标签自带额外边距和对齐规则,导致上标和主文本间距过大。可以通过在HTML标签内添加行内CSS样式手动调整上标的位置与间距,实现紧凑效果。
修改后的代码如下:
library(ggtext) library(tidyverse) df <- tibble( label = c( 'SO<sub>4</sub><sup style="margin-left:-0.2em; vertical-align:0.4em; font-size:0.7em;">2-</sup>' ), x = c(.5), y = c(.5), ) ggplot(df) + aes(x, y, label = label) + geom_richtext() + xlim(0, 1)+ ylim(0, 1)
关键样式参数说明:
margin-left:-0.2em:向左偏移上标,缩小与主文本的横向间距vertical-align:0.4em:调整上标的垂直位置,让它更贴近主文本(默认值偏高)font-size:0.7em:按需调整上标字体大小,保证整体视觉协调
你可以根据实际显示效果微调margin-left和vertical-align的数值,直到匹配目标紧凑效果。
内容的提问来源于stack exchange,提问作者happysillycat
相关产品推荐
相关产品推荐

