Skip to content Skip to sidebar Skip to footer

Ggplot Draw Line Scatterplot by Third Variable

  • 1 Goal
  • 2 Drawing with ggplot
  • 3 Adding a third variable in geom point
    • 3.1 Using colour
    • 3.2 Changing the shape of the data points
    • 3.3 Changing the size of the data points
  • 4 Conclusion

Goal


The goal of this tutorial is to learn different ways to introduce a third variable in a scatter plot in ggplot using shape, colour and size in geom_point.


Drawing with ggplot


            # First we load the libraries library(ggplot2)  # In this example we will use the open repository of plants classification Iris.  data("iris") str(iris)          
            ## 'data.frame':    150 obs. of  5 variables: ##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... ##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... ##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... ##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... ##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...          
            # Let's plot the petal length vs petal width ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length))          


Adding a third variable in geom point

Using colour


              # We can add a third variable to the plot using colour # Notice that the color parameter should be set inside of the aes function, otherwise the effect will be different  ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length, color = Species))                          

              # See what happens if we define de colour outside # ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length), color = iris$Species)  # Error in grDevices::col2rgb(colour, TRUE) : invalid color name 'setosa'  # ggplot is expecting a name of a colour and insted it gets the character "setosa", then it doesn't know what to do # However we could use a defined colour and it will work  ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length), color = "blue")                          


Changing the shape of the data points


              # ggplot comes with predefined shapes for the data points # We can ask different shapes for different values of the third variable ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length, shape = Species))                          

              # Notice that we could combine both parameters in order to separate better points that overlap ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length, shape = Species, color = Species))                          


Changing the size of the data points


              # We can define the size of the data points as a variable # Using size for a discrete variable is not advised.  ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length, size = Species))            

              # Again it can be combined with the other parameters for better separation of the third variable points ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length, size = Species, color = Species, shape = Species))            


Conclusion


In this tutorial we have learnt how to use different parameters as shape, colour and size to introduce a third variable in our scatter plots using geom_point.

Ggplot Draw Line Scatterplot by Third Variable

Source: https://rstudio-pubs-static.s3.amazonaws.com/337414_ef0db534b06a4232945a5b907cfa871a.html

Post a Comment for "Ggplot Draw Line Scatterplot by Third Variable"