Home > OS >  Scatterplot using ggplot
Scatterplot using ggplot

Time:09-17

I need to create a scatterplot of count vs. depth of 12 species using ggplot.

This is what I have so far:

library(ggplot2)
ggplot(data = ReefFish, mapping = aes(count, depth))

However, how do I use geom_point(), geom_smooth(), and facet_wrap() to include a smoother as well as include just the 12 species I want from the data (ReefFish)? Since I believe what I have right now includes all species from the data.

Here is an example of part of my data:

enter image description here

CodePudding user response:

Since I don't have access to the ReefFish data set, here's an example using the built-in mpg data set about cars. To make it work with your data set, just edit this code to replace manufacturers with species.

Filter the data

First we filter the data so that it only includes the species/manufacturers we're interested in.

# load our packages
library(ggplot2)
library(magrittr)
library(dplyr)

# set up a character vector of the manufacturers we're interested in
manufacturers <- c("audi", "nissan", "toyota")

# filter our data set to only include the manufacturers we care about
mpg_filtered <- mpg %>%
  filter(manufacturer %in% manufacturers)

Plot the data

Now we plot. Your code was just about there! You just needed to add the plot elements, you wanted, like so:

mpg_filtered %>%
  ggplot(mapping = aes(x = cty, 
                       y = hwy))  
  geom_point()  
  geom_smooth()  
  facet_wrap(~manufacturer)

Hope that helps, and let me know if you have any issues.

  • Related