2010-02-24 7 views
26

En ggplot je peux ajouter une série à une parcelle avec:Comment puis-je ajouter un autre calque/nouvelle série à un ggplot?

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

Comment puis-je ajouter simplement une autre série, par exemple tracer le coût des rubis contre les diamants. En supposant que les rubis étaient aussi dans l'ensemble de données de diamants. J'ai essayé de mettre sur le dessus une autre couche avec les données de rubis, mais elle trace simplement les rubis et non les diamants/carats.

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

Je peux voir que ce serait possible en fusionnant toutes les données d'abord ensemble, prêt à tracer, alors peut-être que je devrais aller dans cette voie. Cependant, juste ajouter une autre série à un complot comme ceci semble que cela ne devrait pas être trop dur, mais je n'arrive pas à comprendre comment le faire.

Répondre

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

Et si vous voulez ajouter une 2ème série de points * et * une deuxième ligne concernant ces nouveaux points? Par exemple, si vous avez déjà 'ggplot (dat, aes (X, Y)) + geom_point() + geom_line()' et vous voulez ajouter à la fois un second 'geom_point' et un second' geom_line'? – theforestecologist

+0

dois-je répéter le deuxième ensemble de données et la liste des variables pour les deux objets geom, ou y at-il un meilleur moyen? – theforestecologist