ggplot geom_text 在使用 R 数学符号时弄乱了文本顺序
ggplot geom_text is messing up text order when using R mathematical notation
我正在尝试使用 geom_text
在 ggplot
中标记点。我想使用 R 数学符号进行标记。例如,x 坐标 0.5 处的点应具有标签 1/2=0.5,其中 1/2 写为分数。我一直在尝试这段代码:
ggplot(data=NULL) +
geom_point(aes(x=0.5, y=0)) +
geom_text(aes(x=0.5, y=-0.1,
label = paste("frac(1,2)"," = ", 1/2)), parse=TRUE) +
xlim(-1,1) +
ylim(-1, 1)
但是标签的顺序乱了,如下图所示:
而不是 1/2=0.5,我收到 =(1/2,0.5)。在我的标签文本中使用 frac()
时如何获得正确的顺序?
你的 label
应该放在 aes()
之外。
ggplot(data=NULL) +
geom_point(aes(x=0.5, y=0)) +
geom_text(aes(x=0.5, y=-0.1),
label = expression(paste(frac(1,2), " = ", 0.5))) +
xlim(-1,1) +
ylim(-1, 1)
将 label
放在 aes
外面并使用双 ==
,就像 help("plotmath")
中所说的那样。
ggplot(data=NULL) +
geom_point(aes(x=0.5, y=0)) +
geom_text(aes(x=0.5, y=-0.1),
label = paste("frac(1, 2) == ", 1/2), parse=TRUE) +
xlim(-1,1) +
ylim(-1, 1)
我正在尝试使用 geom_text
在 ggplot
中标记点。我想使用 R 数学符号进行标记。例如,x 坐标 0.5 处的点应具有标签 1/2=0.5,其中 1/2 写为分数。我一直在尝试这段代码:
ggplot(data=NULL) +
geom_point(aes(x=0.5, y=0)) +
geom_text(aes(x=0.5, y=-0.1,
label = paste("frac(1,2)"," = ", 1/2)), parse=TRUE) +
xlim(-1,1) +
ylim(-1, 1)
但是标签的顺序乱了,如下图所示:
而不是 1/2=0.5,我收到 =(1/2,0.5)。在我的标签文本中使用 frac()
时如何获得正确的顺序?
你的 label
应该放在 aes()
之外。
ggplot(data=NULL) +
geom_point(aes(x=0.5, y=0)) +
geom_text(aes(x=0.5, y=-0.1),
label = expression(paste(frac(1,2), " = ", 0.5))) +
xlim(-1,1) +
ylim(-1, 1)
将 label
放在 aes
外面并使用双 ==
,就像 help("plotmath")
中所说的那样。
ggplot(data=NULL) +
geom_point(aes(x=0.5, y=0)) +
geom_text(aes(x=0.5, y=-0.1),
label = paste("frac(1, 2) == ", 1/2), parse=TRUE) +
xlim(-1,1) +
ylim(-1, 1)