在R中的轴标题中同时使用下标和变量值

发布于 2024-11-28 19:55:45 字数 468 浏览 1 评论 0原文

我想在 R 的绘图中使用标题“湿地中的二氧化碳排放量”,而 CO2 中的 2 位于下标中,并且该区域的值(此处:“湿地”)包含在名为“区域”的变量中。

region = "wetlands"
plot (1, 1, main=expression(CO[2]~paste(" emissions in ", region)))

问题是,粘贴的不是变量的值,而是变量的名称。这给出了“地区的二氧化碳排放量”而不是“湿地的二氧化碳排放量”。我也尝试过:

region="wetlands"
plot (1,1,main=paste(expression(CO[2]), "emissions in", region))

但是这里下标没有做,标题是:“湿地中的CO[2]排放”。

是否可以以某种方式将变量的值放入表达式中?

谢谢你的帮助,

斯文

I want to use the title "CO2 emissions in wetlands" in a plot in R, whereas the 2 in CO2 is in subscript, and the value for the region (here: "wetlands") is contained in a variable named "region".

region = "wetlands"
plot (1, 1, main=expression(CO[2]~paste(" emissions in ", region)))

The problem is, that not the value of the variable is pasted, but the name of the variable. This gives "CO2 emissions in region" instead of "CO2 emissions in wetlands". I also tried:

region="wetlands"
plot (1,1,main=paste(expression(CO[2]), "emissions in", region))

But the subscript is not done here, and the title is: "CO[2] emissions in wetlands".

Is it somehow possible to get values of variables into expression?

Thanks for your help,

Sven

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

东北女汉子 2024-12-05 19:55:45

无需使用paste() 生成绘图数学样式注释的表达式。这工作得很好:

region <- "foo"
plot (1, 1, main = bquote(CO[2] ~ "emissions in" ~ .(region)))

给出:

在此处输入图像描述

使用 paste() 就可以进入方式。

注意:您必须引用 "in" 因为解析器会将其作为 R 语法的关键部分。

There is no need to use paste() in producing an expression for plothmath-style annotation. This works just fine:

region <- "foo"
plot (1, 1, main = bquote(CO[2] ~ "emissions in" ~ .(region)))

giving:

enter image description here

Using paste() just gets in the way.

Nb: You have to quote "in" because the parser grabs it as a key part of R syntax otherwise.

风透绣罗衣 2024-12-05 19:55:45

您可以使用替代:

mn <- substitute(CO[2]~ "emissions in" ~ region, list(region="wetlands") )
plot(1, 1, main=mn )

substituteplot

?substitute 帮助文件中:

替代品的典型用途是为以下内容创建信息标签
数据集和绘图。下面的 myplot 示例显示了一个简单的用法
这个设施。它使用函数deparse和substitute来创建
绘图的标签是实际的字符串版本
函数 myplot 的参数。

You can use substitute:

mn <- substitute(CO[2]~ "emissions in" ~ region, list(region="wetlands") )
plot(1, 1, main=mn )

substitute plot

From the ?substitute help file:

The typical use of substitute is to create informative labels for
data sets and plots. The myplot example below shows a simple use of
this facility. It uses the functions deparse and substitute to create
labels for a plot which are character string versions of the actual
arguments to the function myplot.

蓝天白云 2024-12-05 19:55:45

对于您的情况,从重复链接的答案之一中窃取:

x <- "OberKrain"
plot(1:10, 1:10, main = bquote(paste(CO[2], " in ", .(x))))

在此处输入图像描述

For your case, stolen from one of the answers at the duplicated link:

x <- "OberKrain"
plot(1:10, 1:10, main = bquote(paste(CO[2], " in ", .(x))))

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文