使用R中的ggplot2跟踪散点图中点之间的直线

使用R中的ggplot2跟踪散点图中点之间的直线,r,ggplot2,line,scatter-plot,cartesian-coordinates,R,Ggplot2,Line,Scatter Plot,Cartesian Coordinates,你可以下载数据 每行代表一个可以在不同部分找到的对象,如XY坐标(x1,y1;x2,y2;…;xn,yn)所示。在此数据集中,具有更多点的行是“1”、“16”和“18”,每个行有4个点(坐标) 我想使用ggplot2散点绘制所有这些XY坐标,并分别跟踪每行中点之间的直线 我最终通过运行几个代码手动完成了这项工作: 首先,我删除了没有数据的列: Refits_H <- within(Refits_H, { Unit <- NULL x5 <- NULL x6 &

你可以下载数据

每行代表一个可以在不同部分找到的对象,如XY坐标(x1,y1;x2,y2;…;xn,yn)所示。在此数据集中,具有更多点的行是“1”、“16”和“18”,每个行有4个点(坐标)


我想使用ggplot2散点绘制所有这些XY坐标,并分别跟踪每行中点之间的直线

我最终通过运行几个代码手动完成了这项工作:

首先,我删除了没有数据的列:

Refits_H <- within(Refits_H, {
  Unit <- NULL  
  x5 <- NULL
  x6 <- NULL
  x7 <- NULL
  x8 <- NULL
  x9 <- NULL
  x10 <- NULL
  x11 <- NULL
  y5 <- NULL
  y6 <- NULL
  y7 <- NULL
  y8 <- NULL
  y9 <- NULL
  y10 <- NULL
  y11 <- NULL 
})

Refits\H您能告诉我们您尝试过什么吗?
Refits_H <- with(Refits_H, Refits_H[order(y4, y3, y2, y1, decreasing=FALSE),])
Refits_H <- Refits_H[c("x4","y4","x3","y3","x2","y2","x1","y1")]
library(tidyverse)
library(dplyr)

Refits_H_trans <- gather(Refits_H, xy, val) %>% 
    mutate(coord = substr(xy, 1, 1),
           pair = parse_number(xy)) %>% 
    group_by(xy) %>% 
    mutate(sample = 1:n()) %>% 
    ungroup() %>% 
    select(-xy) %>% 
    spread(coord, val) %>% 
    filter(!is.na(x) & !is.na(y))