ggplot 中带上标的 Unicode Ø 符号
Unicode Ø symbol with superscript in ggplot
我想把下面的文字放在ggplot图表后面
而且我认为它应该很容易实现。不幸的是,我所有的尝试都以彻底的失败告终。
我已经在这个论坛上阅读了十几篇关于这个主题的帖子。我已经做了几十次尝试,仍然没有达到我期望的效果。
顺便说一句,我注意到对 unicode 符号的处理相当奇怪。请比较下表中的标题和副标题。
library(tidyverse)
ggplot()+
labs(
title = expression("\u00AE \u00A9, \u00A2, \u00BC, \u00BD, \u00BE, \u00A5, \u00D8, \u00F8"),
subtitle = "\u00AE \u00A9, \u00A2, \u00BC, \u00BD, \u00BE, \u00A5, \u00D8, \u00F8"
)+
annotate(geom="text", label="\u00D828.15^{+0.15}", x=0, y=0.08,parse = TRUE, size=5)+
annotate(geom="text", label="\u00D8", x=0, y=0, size=5)+
annotate(geom="text", label="28.15^{+0.15}", x=0.03, y=0.001,parse = TRUE, size=5)+
xlim(c(-0.1, 0.1))+
ylim(c(-0.02, 0.1))+
theme_void()
为什么一些 unicode 符号在放置在 expression
函数中或当我使用 parse
选项时会丢失一些图形?这发生在符号 ¢、¥、¼、½、¾、Ø 上。就我而言,我特别关心符号 Ø。我终于得到了轨道图上的效果(图表底部的注释)是由两个彼此相邻的注释的繁琐设置创建的。然而,一旦我改变图表的大小,它就完全崩溃了。
有人知道怎么解决吗?
非常感谢您的快速回复。不幸的是,它仍然对我不起作用! :-(
library(latex2exp)
library(ggplot2)
label <- TeX("$Ø28.15^{+0.15}$")
qplot(1, "A") +
annotate(geom = "text", label = label, x = 1, y = 1.1, size = 10) +
xlab(label)
您可以在数学 ($
) 环境中使用 LaTeX 语法来自动生成 plotmath 表达式:
library(latex2exp)
library(ggplot2)
label <- TeX("$Ø28.15^{+0.15}$")
label
#> expression(`$Ø28.15^{+0.15}$` = paste("", "Ø28", ".", "15",
#> phantom()^{
#> paste("+0", ".", "15")
#> }, ""))
qplot(1, "A") +
annotate(geom = "text", label = label, x = 1, y = 1.1, size = 10) +
xlab(label)
#> Warning in is.na(x): is.na() applied to non-(list or vector) of type
#> 'expression'
由 reprex package (v2.0.1)
于 2021-10-18 创建
我知道如何修改上面的这个解决方案,也许不是那么可爱,但到处都有效
library(ggplot2)
label <- "\u00D828.15\U207A\u2070\U00B7\U00B9\u2075"
qplot(1, "A") +
annotate(geom = "text", label = label, x = 1, y = 1.1, size = 10) +
xlab(label)
我想把下面的文字放在ggplot图表后面
而且我认为它应该很容易实现。不幸的是,我所有的尝试都以彻底的失败告终。 我已经在这个论坛上阅读了十几篇关于这个主题的帖子。我已经做了几十次尝试,仍然没有达到我期望的效果。 顺便说一句,我注意到对 unicode 符号的处理相当奇怪。请比较下表中的标题和副标题。
library(tidyverse)
ggplot()+
labs(
title = expression("\u00AE \u00A9, \u00A2, \u00BC, \u00BD, \u00BE, \u00A5, \u00D8, \u00F8"),
subtitle = "\u00AE \u00A9, \u00A2, \u00BC, \u00BD, \u00BE, \u00A5, \u00D8, \u00F8"
)+
annotate(geom="text", label="\u00D828.15^{+0.15}", x=0, y=0.08,parse = TRUE, size=5)+
annotate(geom="text", label="\u00D8", x=0, y=0, size=5)+
annotate(geom="text", label="28.15^{+0.15}", x=0.03, y=0.001,parse = TRUE, size=5)+
xlim(c(-0.1, 0.1))+
ylim(c(-0.02, 0.1))+
theme_void()
为什么一些 unicode 符号在放置在 expression
函数中或当我使用 parse
选项时会丢失一些图形?这发生在符号 ¢、¥、¼、½、¾、Ø 上。就我而言,我特别关心符号 Ø。我终于得到了轨道图上的效果(图表底部的注释)是由两个彼此相邻的注释的繁琐设置创建的。然而,一旦我改变图表的大小,它就完全崩溃了。
有人知道怎么解决吗?
非常感谢您的快速回复。不幸的是,它仍然对我不起作用! :-(
library(latex2exp)
library(ggplot2)
label <- TeX("$Ø28.15^{+0.15}$")
qplot(1, "A") +
annotate(geom = "text", label = label, x = 1, y = 1.1, size = 10) +
xlab(label)
您可以在数学 ($
) 环境中使用 LaTeX 语法来自动生成 plotmath 表达式:
library(latex2exp)
library(ggplot2)
label <- TeX("$Ø28.15^{+0.15}$")
label
#> expression(`$Ø28.15^{+0.15}$` = paste("", "Ø28", ".", "15",
#> phantom()^{
#> paste("+0", ".", "15")
#> }, ""))
qplot(1, "A") +
annotate(geom = "text", label = label, x = 1, y = 1.1, size = 10) +
xlab(label)
#> Warning in is.na(x): is.na() applied to non-(list or vector) of type
#> 'expression'
由 reprex package (v2.0.1)
于 2021-10-18 创建我知道如何修改上面的这个解决方案,也许不是那么可爱,但到处都有效
library(ggplot2)
label <- "\u00D828.15\U207A\u2070\U00B7\U00B9\u2075"
qplot(1, "A") +
annotate(geom = "text", label = label, x = 1, y = 1.1, size = 10) +
xlab(label)