版权声明:本文为博主原创文章,转载请注明原文出处!
作者:阿振
写作时间:2024-10-13 10:53:10
使用ggplot2绘制图表科研通过简单的代码实现美观的输出,但是其中有一些让人用着不舒服的地方就是当涉及数学公式时,数学公式的表达和字体的渲染问题。下面提供两种有效解决思路:
使用 latex2exp
库通过LaTex语法进行实现。缺点是字符默认都是非衬线字体,而不是LaTex的数学公式字体。要想单独给公式设置数学字体很困难,目前无解。
1 2 3 4 5 6 7 8 9 10 11 12 library( latex2exp) labs( x = "Observed Chl-a" , y = TeX( r"(QAA-Derived $a_{ph}$)" ) , title = TeX( r"(Relation between Observed Chl-a and QAA-Derived $a_{ph}$)" ) ) + theme_bw( ) + theme( legend.title = element_blank( ) )
使用 ggtext
以HTML格式进行渲染,这样字体可以通过CSS自定义。这种方法适用于简单的数学符号表达,优点是可以自定义数学字体,实现专业的文本输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 library( showtext) font_add( "LM Roman 10" , regular = "lmroman10-regular.otf" , bold = "lmroman10-bold.otf" , italic = "lmroman10-italic.otf" , bolditalic = "lmroman10-bolditalic.otf" ) showtext_auto( ) labs( x = "Observed Chl-a" , y = r"(QAA-Derived <i style="font-family: 'LM Roman 10'">a<sub>ph</sub></i>)" , title = r"(Relation between Observed Chl-a and QAA-Derived <i style="font-family: 'LM Roman 10'">a<sub>ph</sub></i>)" ) + theme_bw( ) + theme( legend.title = element_blank( ) , plot.title = ggtext:: element_markdown( ) , axis.title.y = ggtext:: element_markdown( ) )