【问题标题】:Make a two-dimensional vector map with R用R制作二维矢量图
【发布时间】:2021-05-11 21:54:02
【问题描述】:
我想用 R 做一个二维矢量图。换句话说,每个数据点有四个输入:笛卡尔 X 和 Y 位置,从该位置开始的 x 和 y 向量长度。输出将是一个矩形,其中包含在不同位置的一堆箭头。
我只需要一个提示即可开始,而不是一个沉重的答案。 (我在 Cheat Sheet 上看到了很多很棒的东西,但没有什么能真正表明我需要什么。)
示例源数据:
期望的输出:
【问题讨论】:
标签:
r
ggplot2
data-visualization
【解决方案1】:
下面是ggplot2 的示例。下次请以可用的格式提供您的数据。
## sample data
set.seed(47)
n = 5
df = data.frame(
x = runif(n),
y = runif(n),
vx = rnorm(n),
vy = rnorm(n)
)
df
# x y vx vy
# 1 0.9769620 0.6914124 -1.08573747 -0.92245624
# 2 0.3739160 0.3890619 -0.98548216 0.03960243
# 3 0.7615020 0.4689460 0.01513086 0.49382018
# 4 0.8224916 0.5433097 -0.25204590 -1.82822917
# 5 0.5735444 0.9248920 -1.46575030 0.09147291
library(ggplot2)
ggplot(df, aes(x = x, y = y)) +
geom_segment(
aes(xend = x + vx, yend = y + vy),
arrow = arrow(length = unit(0.5, "cm"))
)