# Line Chart

## What is a Line Chart?

A line chart is the graphical representation of the functional relationship of two (with 2D representation) or three (with 3D representation) characteristics as a diagram in line form, whereby changes or developments (for example within a certain period of time) can be represented. In contrast to the scatterplot, there can only be one pair or trio of values at a time. If enough data points are collected during a measurement, these points are usually ordered on the x-coordinate and can be connected by drawing line segments between them. Line charts are usually used in identifying the trends in data.

Info
The `lines()` function adds information to a graph. It can not produce a graph on its own.

Usually it follows a `plot(x, y)` command that produces a graph.

By default, `plot( )` plots the (x,y) points. Use the `type="n"` option in the `plot( )` command, to create the graph with axes, titles, etc., but without plotting the points.

`type=` can take the following values:

type description
p points
l lines
o overplotted lines and points
b points joined by lines
c no visible points (empty) joined by lines
s, S line-like stair steps
h histogram-like vertical lines
n does not produce any points or lines

## Example with mtcars:

By default the `plot()` function produces a scatter plot with dots. To make line graphs, pass it to the vector of x and y values, and specify the `type = " "`:

``````plot(x = pressure\$temperature, y = pressure\$pressure)                  # 0.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "p")      # 1.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "l")      # 2.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "o")      # 3.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "b")      # 4.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "c")      # 5.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "s")      # 6.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "h")      # 7.
plot(x = pressure\$temperature, y = pressure\$pressure, type = "n")      # 8.
``````

To include multiple lines or to plot the points, first call plot() for the first line, then add additional lines and points with lines() and points() respectively:

``````# base graphic
plot(x = pressure\$temperature, y = pressure\$pressure,
type = "l", col = "steelblue")

points(x = pressure\$temperature, y = pressure\$pressure, col = "steelblue")

# add second line in red color
lines(x = pressure\$temperature, y = pressure\$pressure/2, col = "darkgreen")

# add points to second line
points(x = pressure\$temperature, y = pressure\$pressure/2, col = "darkgreen")
``````

## Example with orange:

To demonstrate the creation of a more complex line chart, let’s plot the growth of 5 orange trees over time. Each tree will have its own distinctive line. The data come from the dataset Orange.

``````# convert factor to numeric for convenience
Orange\$Tree <- as.numeric(Orange\$Tree)
ntrees <- max(Orange\$Tree)
``````
``````# get the range for the x and y axis
xrange <- range(Orange\$age)
yrange <- range(Orange\$circumference)
``````
``````# set up the plot
plot(xrange, yrange, type="n", xlab="Age (days)",
ylab="Circumference (mm)" )
colors <- rainbow(ntrees)
linetype <- c(1:ntrees)
plotchar <- seq(18,18+ntrees,1)
``````
``````# add lines via for-loop
for (i in 1:ntrees)
{
tree <- subset(Orange, Tree==i)
lines(tree\$age, tree\$circumference, type="b", lwd=1.5,
lty=linetype[i], col=colors[i], pch=plotchar[i])
}
``````
``````# add a title and subtitle
title("Tree Growth")