使用箭头和标签在 `ggplot2` 中绘制四分之三圆
Draw three-quarter-circle in `ggplot2` with arrow and label
我想用箭头和标签在 ggplot2
中画四分之三圆。使用 ggplot2
和 ggforce
我发现了一些有用的东西,但它看起来非常复杂。
是否有更简单的选择来实现我想要的?
df <- data.frame(x = 100, y = 100, label = "R")
library(ggplot2)
library(ggforce)
r <- 10
ggplot(df) +
geom_circle(aes(x0 = x, y0 = y, r = r)) +
geom_rect(aes(xmin = x, ymin = y, xmax = x + r + 1, ymax = x + r + 1),
fill = "white") +
geom_segment(aes(x = x + r, y = y, xend = x + r, yend = y + 1),
arrow = arrow()) +
annotate("text", x = df$x, y = df$y, label = df$label) +
theme_void()
这会被认为更简单吗?
ggplot(df) +
geom_arc(aes(x0 = x, y0 = y, r = r,
start = 0, end = -1.5 * pi),
arrow = arrow()) +
annotate("text", x = df$x, y = df$y, label = df$label) +
theme_void()
# equivalent to above with geom_text instead; I'm not sure if your actual use
# case has preference for one or the other
ggplot(df) +
geom_arc(aes(x0 = x, y0 = y, r = r,
start = 0, end = -1.5 * pi),
arrow = arrow()) +
geom_text(aes(x = x, y = y, label = label)) +
theme_void()
我想用箭头和标签在 ggplot2
中画四分之三圆。使用 ggplot2
和 ggforce
我发现了一些有用的东西,但它看起来非常复杂。
是否有更简单的选择来实现我想要的?
df <- data.frame(x = 100, y = 100, label = "R")
library(ggplot2)
library(ggforce)
r <- 10
ggplot(df) +
geom_circle(aes(x0 = x, y0 = y, r = r)) +
geom_rect(aes(xmin = x, ymin = y, xmax = x + r + 1, ymax = x + r + 1),
fill = "white") +
geom_segment(aes(x = x + r, y = y, xend = x + r, yend = y + 1),
arrow = arrow()) +
annotate("text", x = df$x, y = df$y, label = df$label) +
theme_void()
这会被认为更简单吗?
ggplot(df) +
geom_arc(aes(x0 = x, y0 = y, r = r,
start = 0, end = -1.5 * pi),
arrow = arrow()) +
annotate("text", x = df$x, y = df$y, label = df$label) +
theme_void()
# equivalent to above with geom_text instead; I'm not sure if your actual use
# case has preference for one or the other
ggplot(df) +
geom_arc(aes(x0 = x, y0 = y, r = r,
start = 0, end = -1.5 * pi),
arrow = arrow()) +
geom_text(aes(x = x, y = y, label = label)) +
theme_void()