How to Add Text to a Plot in R

In base R, the text() function can be used to add text to a plot.

The following is the fundamental syntax for this function

text(x, y, “my text”)

where:

x, y: The text should be positioned at (x, y) coordinates.

eXtreme Gradient Boosting in R » Ultimate Guide » finnstats

How to Add Text to a Plot in R

The examples below demonstrate how to utilize this function in practice.

Example 1: Add One Text Element to Plot

The code below demonstrates how to use text() to add one text element to a plot at the (x, y) coordinates.

Let’s create a data frame with values to a plot

df <- data.frame(x=c(1, 3, 5, 6, 9, 10),
                 y=c(2, 8, 10, 11, 12, 16))
df
    x  y
1  1  2
2  3  8
3  5 10
4  6 11
5  9 12
6 10 16

Now we can create a scatterplot

plot(df$x, df$y)

Now add text element at (5, 8)

Coefficient of Variation Example » Acceptable | Not Acceptable» finnstats

text(x=5, y=18, "finnstats.com")

Notice how our text element has been inserted into the plot’s (5, 8) (x, y) coordinates.

Example 2: Plot with Multiple Text Elements

We can easily utilize multiple text() routines to add several text pieces to a plot. Create a data frame with values to plot

df <- data.frame(x=c(1, 3, 5, 6, 9, 10),
                 y=c(2, 8, 10, 11, 12, 16))

Let’s create a scatterplot

plot(df$x, df$y)

add text elements

text(x=2, y=8, "finnstats.com")
text(x=5, y=10, "finnstats")
text(x=8, y=12, "data analysis")

Three text components, each at the (x, y) locations we specified, have been placed in the plot.

Equality of Variances in R-Homogeneity test-Quick Guide » finnstats

Example 3: Plot Text Elements Can Be Customized

The cex, col, and font options can be used to change the size, colour, and font style of the plot’s text elements, respectively:

make a data frame with the values you want to plot

df <- data.frame(x=c(1, 3, 5, 6, 9, 10),
                 y=c(2, 8, 10, 11, 12, 16))
plot(df$x, df$y)

add text elements with custom appearance

text(x=5, y=18, "first text", col='red')
text(x=5, y=10, "second text", col='blue', cex=3)
text(x=5, y=5, "third text", col='green', cex=5, font=3)

Example 4: Add Text Labels to Each Point in Plot

We can use the labels arguments to add a text label to each point in the plot.

df <- data.frame(Country=c('A', 'B', 'C', 'D', 'E', 'F'),
                 x=c(1, 3, 5, 6, 9, 10),
                 y=c(2, 8, 10, 11, 12, 16))
df
   Country  x  y
1       A  1  2
2       B  3  8
3       C  5 10
4       D  6 11
5       E  9 12
6       F 10 16

create a scatterplot

plot(df$x, df$y)

add a text label to each point in the plot

Descriptive Statistics in R » finnstats

text(df$x, df$y, labels=df$teams, pos=4)

You’ll see that each of the plot’s points now has a text label.

Also, the pos argument, which has four possible values, determines where the text label is positioned in relation to the point:

1: To the text below

2: To the left of the text

3: To the above of the text

4: text to the right

Each text label is put to the right of the points in the plot because we specified pos=4.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

4 × 3 =