# call in mtcars
data("mtcars")
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
names(mtcars)
## [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
## [11] "carb"
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(mtcars, aes(x=gear, y= mpg)) +
geom_bar(stat="identity")
# I want to get each bar colored differently
ggplot(mtcars, aes(x=gear, y= mpg, fill=gear)) +
geom_bar(stat="identity")
# Time to add title and axis labels
ggplot(mtcars, aes(x=gear, y= mpg, fill=gear)) +
geom_bar(stat="identity") +
labs(title = "Number of forward gears and miles per gallons used",
x = "Number of forward gears",
y = "Miles/gallons")
# let's add a line to the bars
ggplot(mtcars) +
geom_col(aes(x=gear, y= mpg, fill = gear)) +
geom_line(aes(x= gear, y= carb), stat = "identity",
color = "red", size = 2)+
labs(title = NULL,
x = "Number of forward gears",
y = "Miles/gallons")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# lets do some scaling to transform the line
ggplot(mtcars) +
geom_col(aes(x=gear, y= mpg, fill = gear)) +
geom_line(aes(x= gear, y= carb*100), stat = "identity",
color = "red", size = 2)+
labs(title = NULL,
x = "Number of forward gears",
y = "Miles/gallons")+
scale_y_continuous(sec.axis = sec_axis(~.*0.001, name = "Percentage"))# use y-continuous since we are dealing with a secondary y-axis