如何在R中为多个图例条目添加度符号?

4

我知道可以通过使用表达式(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)))

enter image description here

编辑:我更关心如何处理多个值,而不仅仅是2个。

希望能给出简洁而整洁的处理方法,谢谢!

3个回答

2

对于ggplot:

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

2

我认为你需要substituteexpression的帮助。你可以对需要编写表达式的向量进行sapply,这里我将c(5,10)作为sapply的输入。至于函数部分,你需要使用带有substitute的as.expression。

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))))))

输出:

这里输入图片描述


注:此内容涉及IT技术,仅供参考。

1

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

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

哦,当然!谢谢!不过,有没有一种快速处理20个不同值的方法呢?(即,是否有一种方法只需编写一次“degreeC”,然后将其与20个值组合在一起,而不是重复20次表达式?) - theforestecologist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接