如何缩小R Markdown(HTML输出)中文本与图片的间距
调整R Markdown HTML输出中图片与文本的间距
以下是几种实用的解决方法:
方案1:给图片添加行内样式(快速调整单张图)
直接在R代码块中通过out.extra参数设置图片的上下边距,数值可按需调整:
{r, echo=FALSE, fig.align='top', out.extra='style="margin-top: -1em; margin-bottom: -1em;"'} library(cowplot) ggdraw() + draw_image("dog.png", width = 0.5)
-1em表示缩小间距,你可以根据实际显示效果改成-0.8em、-0.5em这类更合适的数值。
方案2:自定义CSS全局控制(批量调整)
在文档开头(YAML配置之后)添加CSS代码,统一调整所有图片的上下间距:
<style> img { margin-top: 0.5em !important; margin-bottom: 0.5em !important; } </style>
如果只想调整特定图片,先给代码块加class.output标记:
{r, echo=FALSE, fig.align='top', class.output='tight-image'} library(cowplot) ggdraw() + draw_image("dog.png", width = 0.5)
再对应写CSS:
<style> .tight-image img { margin-top: -0.8em; margin-bottom: -0.8em; } </style>
方案3:消除绘图本身的内边距
如果图片自身周围有多余空白(来自cowplot的默认设置),可以修改ggdraw的plot.margin参数,减少绘图内部空白:
{r, echo=FALSE, fig.align='top'} library(cowplot) ggdraw(plot.margin = margin(0, 0, 0, 0, "pt")) + draw_image("dog.png", width = 0.5)
要是担心图片被裁剪,可把0改成5pt这类小数值,保留少量内边距。
内容的提问来源于stack exchange,提问作者r.carnahan
相关产品推荐
相关产品推荐

