如何在 base R plot 中仅将一个图例名称设为斜体?
How to only make one legend name italic in base R plot?
我想在图例中添加一个图例,其中 只有一个图例名称是斜体的。我在 base 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))
- 请注意,当我单独保留表达式(右图例)时,它会正确显示斜体。但是,当我为其他图例行添加文本时,它搞砸了 (LEFT LEGEND)。
如何正确执行此操作?
注意:我宁愿有一个 不需要 多次调用 legend()
的解决方案。
你可以使用 text.font = 3
,比如:
legend(x='topleft',legend = c(bquote((.(l1))),l2), text.font=c(3,1))
您应该使用 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))) ))
我想在图例中添加一个图例,其中 只有一个图例名称是斜体的。我在 base 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))
- 请注意,当我单独保留表达式(右图例)时,它会正确显示斜体。但是,当我为其他图例行添加文本时,它搞砸了 (LEFT LEGEND)。
如何正确执行此操作?
注意:我宁愿有一个 不需要 多次调用 legend()
的解决方案。
你可以使用 text.font = 3
,比如:
legend(x='topleft',legend = c(bquote((.(l1))),l2), text.font=c(3,1))
您应该使用 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))) ))