首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将希腊语符号和上标添加到tickmarks文本中(滴答符号)

将希腊语符号和上标添加到tickmarks文本中(滴答符号)
EN

Stack Overflow用户
提问于 2022-05-23 06:10:56
回答 2查看 164关注 0票数 0

我正在尝试把稳定的氧同位素符号输入到ggplot中的轴文本(刻度标记标签)中。

示例数据

代码语言:javascript
复制
df <- data.frame(author = c("one", "two", "three"), 
                 d18O = c("D", "D", "U"),
                 Mg = c("I", "D", "D"),
                 `Drip Rate` = c("U", "I", "I")) %>% 
  pivot_longer(-c(author))  

外部图解

代码语言:javascript
复制
df %>% 
  ggplot(aes(x = name, fill = value)) +
  geom_bar(position = "fill", colour = "black", size = 0.1) +
  facet_grid(author~., scales = "free")

scales::parse_format将解析符号的第一部分(δ^18)

代码语言:javascript
复制
df2 <- df
df2[which(df2$name == "d18O"),]$name <- "delta^18"

df2 %>% 
  ggplot(aes(x = name, fill = value)) +
  geom_bar(position = "fill", colour = "black", size = 0.1) +
  facet_grid(author~., scales = "free") +
  scale_x_discrete(labels = scales::parse_format()) 

但是,当我试图添加O(为了使它成为Error in parse(text = text[[i]]) : <text>:1:9: unexpected symbol 1: delta^18O ^ ^18O)时,我得到了错误的δ

任何帮助都很感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-23 06:25:27

您需要添加一个星号来转义上标:

代码语言:javascript
复制
df2[which(df2$name == "d18O"),]$name <- "delta^18*O"
票数 1
EN

Stack Overflow用户

发布于 2022-05-23 06:33:34

如果O表示Omicron,则可以使用

代码语言:javascript
复制
df2[which(df2$name == "d18O"),]$name <- "delta^~18*Omicron"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72343955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档