【问题标题】:Make a two-dimensional vector map with R用R制作二维矢量图
【发布时间】:2021-05-11 21:54:02
【问题描述】:

我想用 R 做一个二维矢量图。换句话说,每个数据点有四个输入:笛卡尔 X 和 Y 位置,从该位置开始的 x 和 y 向量长度。输出将是一个矩形,其中包含在不同位置的一堆箭头。

我只需要一个提示即可开始,而不是一个沉重的答案。 (我在 Cheat Sheet 上看到了很多很棒的东西,但没有什么能真正表明我需要什么。)

示例源数据:

期望的输出:

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。

标签: 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"))
  )

【讨论】:

    猜你喜欢
    • 2021-10-31
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2017-12-17
    • 1970-01-01
    • 2020-03-01
    • 2014-09-21
    相关资源
    最近更新 更多