Adjust Space Between ggplot2 Axis Labels and Plot Area in R (2 Examples)


In this R programming tutorial, I’ll explain how to adjust the space between the ggplot2 axis labels and the plot area.

The article contains the following content:

All right. So first I’m going to create some example data and a basic plot…


Creation of Example Data & Basic Plot

Before we can draw our basic ggplot, we need to create some example data frame. Consider the following R code:

data <- data.frame(x = c("A", "B", "C", "D", "E"),            # Create example data
                   y = c(0.3, 0.8, 0.9, 0.2, 0.6))

In order to plot this example data, we need to install and load the ggplot2 package to R:

install.packages("ggplot2")                                   # Install ggplot2 package
library("ggplot2")                                            # Load ggplot2 package

Now, we can draw a ggplot barchart with default specifications as follows:

ggp <- ggplot(data, aes(x, y, fill = y)) +                    # ggplot2 with default settings
  geom_bar(stat = "identity")
ggp                                                           # Print brachart


basic ggplot2 barplot

Figure 1: Basic ggplot2 Barchart with Default Specifications.


Figure 1 shows our example plot. In our example, we are using a barchart for illustration. However, we could use any other kind of ggplot such as a histogram, a scatterplot, a QQplot, a boxplot, and so on…

Now, let’s adjust the positioning of our plot labels.


Example 1: Adjust Vertical Space

If we want to adjust the positioning of our label text, we can use the theme and element_text functions as well as the axis.text.x and the vjust commands of the ggplot2 package. Have a look at the following R code:

ggp + theme(axis.text.x = element_text(vjust = -2))           # Increased vertical space


increase vertical space

Figure 2: ggplot2 Barchart with Vertical Adjustment of Labels.


As you can see based on Figure 2, the previous R syntax increased the space between the plot area and the labels of our barchart (as indicated by the red arrows).

Remember: Negative vjust values increase the space vertically; and positive vjust values decrease the space vertically.

Also note that we could move the y-axis labels in the same way by using axis.text.y instead of the axis.text.x command.


Example 2: Adjust Horizontal Space

If we want to change the horizontal position of our data, we have to use the hjust option instead of the vjust option. Consider the following R code:

ggp + theme(axis.text.x = element_text(hjust = 5))            # Move labels to the left


change horizontal position

Figure 3: ggplot2 Barchart with Horizontal Adjustment of Labels.


As you can see in Figure 3, we just moved our x-axis labels to the left. Play around with the hjust value to adjust the horizontal position as you want.


Video & Further Resources

I have recently published a video on my YouTube channel, which explains the examples of this tutorial. You can find the video below:



In addition, you might have a look at the other R tutorials of my website. I have published several tutorials for the ggplot2 package already:


In this R programming tutorial, I explained how to adjust the distance between the x labels and a chart using ggplot2. If you have any further questions, please let me know in the comments below.


Leave a Reply

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

Fill out this field
Fill out this field
Please enter a valid email address.