我想在图中添加一个图例,其中只有一个图例名称为斜体。我在基地R中使用plot()
。
bquote
。我尝试过的功能不起作用:
a <- 2 ; b <- 5
plot(a,b)
l1 <- bquote(Italic ~ .(a) + .(b))
l2 <- bquote(a + b)
legend(x='topright',legend = bquote(italic(.(l1))))
legend(x='topleft',legend = c(bquote(italic(.(l1))),l2))
我该如何正确地做到这一点?
注意:我宁愿拥有不需要多次调用legend()
的解决方案。功能
答案 0 :(得分:3)
您应该使用as.expression
将所有内容强制转换为表达式对象。
a <- 2
b <- 5
plot(a,b)
legend("topleft", legend = c(as.expression(bquote(italic("Italic: "*.(a)*" + "*.(b)))),
as.expression(bquote("Non Italic: "*.(a)*" + "*.(b)))) )
修改您的示例
a <- 2
b <- 5
plot(a,b)
l1 <- bquote(Italic ~ .(a) + .(b))
l2 <- bquote(a + b)
legend("topleft", legend = c(as.expression(bquote(italic(.(l1)))),
as.expression(bquote(.(l2))) ))
答案 1 :(得分:2)
你可以使用text.font = 3
,比如说:
legend(x='topleft',legend = c(bquote((.(l1))),l2), text.font=c(3,1))