Я пытаюсь построить dataframe в ggplot, и у меня возникают проблемы с отображением точек и линий в нужном порядке.R: Порядок точек и линий в пределах geom в ggplot2
Данные разделяются на один и тот же столбец (из коэффициентов 0 или 1), и я хочу, чтобы 0 отображалось над 1 для обеих линий и точек (которые используют данные из 4 других отдельных столбцов).
Я сделал тестовый информационный фрейм ниже, чтобы проиллюстрировать мою мысль. У моего реального фрейма данных есть тысячи точек, и я хочу построить несколько фреймов данных, поэтому на самом деле не хочу использовать работу, например, подмножество моих данных и построение в виде отдельных слоев/геометрий.
testdata <- data.frame(Split = c(rep(0,5), rep(1,5)), a = rep(1:5,2),
b = c(7,8,9,10,11,6,8,9,10,12), x = c(1:5, 1:5), y = c(1:3,5,6,1.1,2.1,4.1,5.1,7.1))
testdata$Split <- factor(testdata$Split)
ggplot(data = testdata)+
geom_point(aes(x = x, y = y, colour = Split), size = 4)+
geom_line(aes(x = a, y = b, colour = Split))
testdata$Split <- ordered(testdata$Split, levels = rev(levels(testdata$Split)))
Когда я запустить строку кода, чтобы изменить порядок моих уровней, он обменивает, какие из моих линий на передний план, но не какой набор точек. Поэтому изначально обе точки и линия, относящиеся к Split = 0, отстают, однако, когда я меняю порядок, линия из Split = 0 находится напротив (что мне нужно), но точки для Split = 0 остаются за точками для Split = 1.
Любая идея, что здесь происходит и как я могу заставить это работать, будет оценена по достоинству.
Благодаря
Привет спасибо за вашу помощь, я очень надеюсь на ответ, который не включает в себя дробление данных вручную, как это simlification этого нужно просто, и мне нужно применить несколько раз и разбился на более чем 2 слоя. – user2738526
Привет, я нашел способ. Но это заняло очень много времени. Мне также нужно многое объяснять. Пожалуйста, дайте мне немного времени. Спасибо. – jazzurro
@ user2738526 Теперь я пересмотрел свой ответ. – jazzurro