Как сделать так, чтобы «линия» шла слева направо - PullRequest
2 голосов
/ 05 июня 2019

Я делаю некоторые графики, используя plot в r, чтобы посмотреть на SSB Хэддока с широтой нереста, но когда я строю эти два напротив друг друга, линия переходит назад и вперед, пересекая себя.

enter image description here

plot(ICESuå$SSB, vd$lat, type="l", xlab = "Spawning stock biomass", ylab = "latitude")

data
ICESuå$SSB
[1]  95103 100769 118418 153491 171704 182526 177809 188665 213691 234729 338146
[12] 445077 539727 564781 556572 517746 492816 363474

vd$lat
[1] 68.44364 68.57394 68.05612 68.69964 69.19116 69.71899 69.90375 69.37346 69.93432
[10] 70.81535 70.66615 69.51964 70.47318 69.24921 68.90981 69.38605 70.28354 70.65420

Ответы [ 2 ]

2 голосов
/ 05 июня 2019

Необходимо выполнить сортировку на основе значений х (SSB)

SSB = c(95103, 100769, 118418, 153491, 171704, 182526, 177809, 
   188665, 213691, 234729, 338146,
   445077, 539727, 564781, 556572, 517746, 492816, 363474)

lat = c(68.44364, 68.57394, 68.05612, 68.69964, 69.19116, 
   69.71899, 69.90375, 69.37346, 69.93432,
   70.81535, 70.66615, 69.51964, 70.47318, 69.24921, 68.90981, 
   69.38605, 70.28354, 70.65420)

OrdSSB = order(SSB)
plot(SSB[OrdSSB], lat[OrdSSB], type="l", xlab = "Spawning stock biomass",
       ylab = "latitude")

Plot with ordered values

0 голосов
/ 05 июня 2019

Если вы конвертируете в зоопарк, тогда он автоматически сортирует точки:

library(zoo)

z <- read.zoo(data)
plot(z, xlab = "X", ylab = "Y")

Вы также можете легко преобразовать это в ggplot2 следующим образом:

library(ggplot2)
library(zoo)

autoplot(z) + xlab("X") + ylab("Y")

Примечание

Используемый ввод, показанный в воспроизводимой форме:

data <- data.frame(SSB = 
 c(95103, 100769, 118418, 153491, 171704, 182526, 177809, 188665, 213691, 234729,
 338146, 445077, 539727, 564781, 556572, 517746, 492816, 363474),
 lat = c(68.44364, 68.57394, 68.05612, 68.69964, 69.19116, 69.71899, 69.90375, 
 69.37346, 69.93432, 70.81535, 70.66615, 69.51964, 70.47318, 69.24921, 68.90981, 
 69.38605, 70.28354, 70.65420))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...