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:
- Creation of Example Data & Basic Plot
- Example 1: Adjust Vertical Space
- Example 2: Adjust Horizontal Space
- Video & Further Resources
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

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

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

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:
- Rotate ggplot2 Axis Labels in R
- Set Axis Limits in ggplot2 R Plot
- Remove Axis Labels & Ticks of ggplot2 Plot
- Change ggplot2 Legend Title
- Remove ggplot2 Legend Entirely
- Change Position of ggplot Title
- R Graphics Gallery
- The R Programming Language
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.
Subscribe to the Statistics Globe Newsletter
Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.
Thank you!
Welcome to the Statistics Globe newsletter. From now on, I’ll send you regular emails about statistics, data science, AI, and programming with R and Python.
I’m Joachim Schork. On this website, I provide statistics tutorials as well as code in Python and R programming.
Statistics Globe Newsletter
Get regular updates on the latest tutorials, offers & news at Statistics Globe. I hate spam & you may opt out anytime: Privacy Policy.
Thank you!
Please check your email inbox and click the confirmation link to complete your subscription. If you don’t see the email within a few minutes, please also check your spam/junk folder.






