2016-12-19 13 views
-1

I m new to stackoverflow, поэтому, пожалуйста, простите, если я не достаточно ясен. У меня 2 группы точек, каждая из которых представляет собой другую кривую:R- Как нарисовать кривую, которая пересекает определенные точки

{(100,6.5),(200,6.2),(300,5.7),(400,5.5),(500,4.8)} , 
{(100,7),(200,6),(300,5.5),(400,5.3),(500,4.5)} 

Я хочу нарисовать эти 2 кривые в R в том же участке. Я хочу, чтобы первая кривая пересекала первые группы точек, а вторая кривая пересекала вторую группу точек. Есть ли у кого-нибудь идеи?

+0

Существует бесконечное число кривых, проходящих через эти точки. Вы можете проложить сплайн через них. – Roland

+0

Или вы можете соединить точки по прямым линиям. Не могли бы вы нарисовать вручную то, чем вы являетесь после? Кроме того, существует множество способов сделать это в R: базовый график, решетка, ggplot2. Проверка некоторых руководств об этих инструментах должна помочь вам приступить к работе. –

+0

Я знаю, как соединить их, но это не то, что я хочу, так или иначе я проверю базовый участок и т. Д., Спасибо! –

ответ

0

Если вы использовали ggplot2, вы бы создали свой фрейм данных, как показано ниже, добавив переменную, которая указывает кривую для каждого набора точек, которые мы будем использовать для окраски разных линий. Это простой пример, так как есть много настройки вы можете сделать с ggplot2

library(ggplot2) 

df <- data.frame(x = rep(seq(100, 500, 100),2), y = c(6.5,6.2,5.7,5.5,4.8,7,6,5.5,5.3,4.5), curve = rep(c(1,2), each = 5)) 

ggplot(df, aes(x = x, y = y)) + 
    geom_line(aes(color = factor(curve))) 

enter image description here

+0

, что намного полезнее, спасибо большое! –

+0

Добро пожаловать, в следующий раз попробуйте опубликовать с воспроизводимым примером или примерами данных и не забудьте принять или опросить полезные ответы! –