Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在带有特殊字符的ggplot中使用粗体和表情?_R_Ggplot2_Label_Special Characters - Fatal编程技术网

R 如何在带有特殊字符的ggplot中使用粗体和表情?

R 如何在带有特殊字符的ggplot中使用粗体和表情?,r,ggplot2,label,special-characters,R,Ggplot2,Label,Special Characters,我认为这很简单 我在ggplot2的表达式函数中使用粗体。 对我来说一切都很清楚,而且很有效。 但是当我将它与特殊字符一起使用时,比如mu*mol将μmol作为下标,或者H[2]*O将2作为下标,它就不起作用了。 实际上,它不会使特殊字符变粗 我试着在ggplot中使用我知道的带表达式的粗体函数 我仅显示用于设置标签的打印代码字符串 scale_y_continuous(sec.axis = sec_axis(trans = ~ ./5, name = expression(bold(atop(

我认为这很简单

我在ggplot2的表达式函数中使用粗体。 对我来说一切都很清楚,而且很有效。 但是当我将它与特殊字符一起使用时,比如
mu*mol
μmol
作为下标,或者
H[2]*O
2
作为下标,它就不起作用了。 实际上,它不会使特殊字符变粗

我试着在ggplot中使用我知道的带表达式的粗体函数

我仅显示用于设置标签的打印代码字符串

scale_y_continuous(sec.axis = sec_axis(trans = ~ ./5, name = expression(bold(atop(H[2]*O,(mu*mol~m^bold("-2")~s^bold("-1"))))),breaks=c(-3,-1.5,0,1.5,3)),breaks=seq(-10,20,10))
在图中,您可以看到
μ
不是粗体,而
H2O
的下标
2
不是粗体。

在表达式中使用一个
粗体的
语句就足够了,但是您必须用引号将每个下标和上标括起来。这仍然会使希腊字母
mu
没有粗体,而b/c
plotmath
没有粗体符号字体(请参阅)。但是,您可以通过将
mu
替换为unicode字符(您可以找到它们)来避免这种情况

这里我刚刚使用了标准的
mtcars
数据集

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = qsec)) +
geom_line() +
scale_y_continuous(sec.axis = sec_axis(trans = ~ ./5, 
                                       name = expression(bold(atop(H["2"]*O,("\u03bc"*mol~m^"-2"~s^"-1"))))))

您试过引用2吗<代码>H[“2”]
否。我不知道这个函数。它是如何工作的?太棒了@Arienrhod!我不知道这个代码列表。非常感谢。你轻松地解决了我的问题!