Learn to add legend to a plot using the legend() function. Specifically
ncol and horiz argumentstitle. set of argumentsusers <- readr::read_csv('https://raw.githubusercontent.com/rsquaredacademy/datasets/master/users_device.csv',
col_types = list(col_date(format = "%m/%d/%y"), col_integer(),
col_integer(), col_integer()))## # A tibble: 33 x 4
## Date Desktop Mobile Tablet
## <date> <int> <int> <int>
## 1 2017-10-11 2345 876 92
## 2 2017-10-12 2173 784 111
## 3 2017-10-13 1826 772 97
## 4 2017-10-14 1178 1032 155
## 5 2017-10-15 1239 747 105
## 6 2017-10-16 2158 801 85
## 7 2017-10-17 2682 1307 127
## 8 2017-10-18 2252 1110 112
## 9 2017-10-19 2210 891 93
## 10 2017-10-20 2040 824 94
## # ... with 23 more rows
Below is the description of the data set:
plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 3000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green"){plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'))}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'))}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
points(users$Date, users$Desktop, pch = 2, col = 'blue')
lines(users$Date, users$Mobile, type = "l", col = "red")
points(users$Date, users$Mobile, pch = 2, col = 'red')
lines(users$Date, users$Tablet, type = "l", col = "green")
points(users$Date, users$Tablet, pch = 2, col = 'green')
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), pch = 2)}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), horiz = TRUE)}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), ncol = 2)}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), title = 'Devices', horiz = TRUE)}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), title = 'Devices', title.col = 'red', horiz = TRUE)}{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), title = 'Devices', title.adj = 0.1, horiz = TRUE)}| option | argument | values |
|---|---|---|
| Box Type | bty | o, n |
| Background Color | bg | blue, #0000ff |
| Border Line Type | box.lty | 1:5 |
| Border Line Width | box.lwd | 0.5, 1, 1.5 |
| Border Line Color | box.col | blue, #0000ff |
| Horizontal Justification | xjust | 0:1 |
| Vertical Justification | yjust | 0:1 |
| Text Color | text.col | blue, #0000ff |
| Text Font | text.font | 1:5 |
{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), title = 'Devices', bg = '#ffff66', horiz = TRUE)}The following arguments can be used to modify the border of the legend box:
box.lty: line typebox.lwd: line widthbox.col: color{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), title = 'Devices', horiz = TRUE,
box.lty = 3, box.lwd = 1.5, box.col = 'green')}The xjust and yjust arguments can be used to position the legend relative to the X and Y axis respectively. Listed below is the value and the respective justification:
0: left justified0.5: centered1: right justified{plot(users$Date, users$Desktop, type = "l", col = "blue", main = 'Daily Visitors',
ylim = c(0, 4000), xlab = 'Date', ylab = 'Visitors')
lines(users$Date, users$Mobile, type = "l", col = "red")
lines(users$Date, users$Tablet, type = "l", col = "green")
legend(x = as.Date('2017-10-13'), y = 3900, legend = c('Desktop', 'Mobile', 'Tablet'), lty = 1,
col = c('blue', 'red', 'green'), title = 'Devices',
text.col = 'green', text.font = 3, horiz = TRUE)}