2010-02-24 9 views
26

W ggplot mogę dodać serię do działki z:Jak mogę dodać kolejną warstwę/nową serię do ggplot?

ggplot(diamonds, aes(x = carat, y = price)) + geom_point() 

Jak mogę po prostu dodać kolejną serię, na przykład wykreślając koszt rubinów przeciwko diamentom. Zakładając, że rubiny znalazły się również w zbiorze danych o diamentach. Próbowałem położyć kolejną warstwę z danymi o rubinach, ale po prostu rysuje rubiny, a nie diamenty/karaty.

ggplot(diamonds, aes(x = carat, y = price)) + geom_point() + aes(x = rubies, y = price) 

widzę, że byłoby to możliwe przez spajanie wszystkie dane razem pierwszy, gotowy, aby go wykreślić, więc może powinienem iść tą drogą. Jednak dodanie kolejnej serii do takiej fabuły wygląda na to, że nie powinno to być zbyt trudne, ale nie mogę wymyślić, jak to zrobić.

Odpowiedz

44
rubies <- data.frame(carat = c(3, 4, 5), price= c(5000, 5000, 5000)) 

ggplot(diamonds, aes(carat, price)) + 
    geom_point() + 
    geom_point(data = rubies, colour = "red") 
+0

Co zrobić, jeśli chcesz dodać 2. serię punktów * i * drugą linię odnoszącą się do tych nowych punktów? Na przykład, jeśli masz już 'ggplot (dat, aes (X, Y)) + geom_point() + geom_line()' i chcesz dodać zarówno 2. 'geom_point' i 2' geom_line'? – theforestecologist

+0

czy muszę powtórzyć 2. zestaw danych i listę zmiennych dla obu obiektów geom, czy jest lepszy sposób? – theforestecologist

Powiązane problemy