如何将度符号添加到R中的多个绘图图例条目中?

如何将度符号添加到R中的多个绘图图例条目中?,r,string,plot,expression,legend,R,String,Plot,Expression,Legend,我知道我可以使用expression将度符号添加到绘图图例中 plot(1:5,1:5) legend('topleft', fill = 'white', legend = expression(5~degree~C)) 但是如何对多个图例条目执行此操作? 我尝试了以下方法,但无效: plot(1:5,1:5) points(1:5,(1:5) + 0.1, col = 2) legend('topleft', fill = c('white','red'), legend = paste

我知道我可以使用
expression
将度符号添加到绘图图例中

plot(1:5,1:5)
legend('topleft', fill = 'white', legend = expression(5~degree~C))

但是如何对多个图例条目执行此操作?

我尝试了以下方法,但无效:

plot(1:5,1:5)
points(1:5,(1:5) + 0.1, col = 2)
legend('topleft', fill = c('white','red'), legend = paste0(c(5,10), expression(~degree~C)))

编辑:我更感兴趣的是如何对许多值执行此操作,而不仅仅是2个值


任何关于如何简洁整洁地完成这项工作的建议都将不胜感激!谢谢

可以在表达式中包含这两个值

  legend('topleft', fill = c('white','red'), expression(5~degree~C,10~degree~C))

我想你需要
替换
表达式
的帮助。对需要编写表达式的向量进行sappy,这里我将
c(5,10)
作为sappy的输入。对于函数部分,需要使用as.expression和substitute

plot(1:5,1:5)
points(1:5,(1:5) + 0.1, col = 2)
legend('topleft', fill = c('white','red'), legend = sapply(c(5,10), function(x) as.expression(substitute(A~degree~"C",list(A = as.name(x))))))
输出

对于ggplot:

ylab(expression(paste("SST (",degree~C,")"))) +

哎呀!谢谢然而,有没有一种方法可以用20个不同的值快速实现这一点?(也就是说,有没有办法不重复表达式20x,只写一次
~degree~C
,并将其与20个值中的每一个结合起来)?