Table of Contents
To order items on the x-axis in ggplot2, you can use the function “scale_x_discrete” and specify the desired order using the “limits” argument. Alternatively, you can use the “factor” function to manually reorder the factor levels of the variable mapped to the x-axis. This will ensure that the items appear in the desired order on the plot. Additionally, you can use the “guides” function to customize the labels and breaks on the x-axis. These methods allow for greater control and flexibility in how the items are ordered on the x-axis in ggplot2.
Order Items on x-axis in ggplot2
You can use the following basic syntax to order the items on the x-axis of a plot in ggplot2:
ggplot(df, aes(x=factor(x_var, level=c('value1', 'value2', 'value3')), y=y_var)) +
geom_col()
The following examples show how to use this syntax in practice.
Example: Order Items on x-axis in ggplot2
Suppose we have the following data frame in R that shows the points scored by various basketball teams:
#create data frame
df <- data.frame(team=c('Mavs', 'Heat', 'Nets', 'Lakers'),
points=c(100, 122, 104, 109))
#view data frame
df
team points
1 Mavs 100
2 Heat 122
3 Nets 104
4 Lakers 109
If we create a bar plot to visualize the points scored by each team, ggplot2 will automatically order the bars in alphabetical order:
library(ggplot2) #create bar plot ggplot(df, aes(x=team, y=points)) + geom_col()

To specify an order for the bars on the x-axis, we can use the level argument as follows:
library(ggplot2) #create bar plot with specific axis order ggplot(df, aes(x=factor(team, level=c('Mavs', 'Heat', 'Nets', 'Lakers')), y=points)) + geom_col()

The bars are now in the exact order that we specified inside the level argument.
You may also want to use xlab() to rename the x-axis to something that is easier to read:
library(ggplot2) #create bar plot with specific axis order ggplot(df, aes(x=factor(team, level=c('Mavs', 'Heat', 'Nets', 'Lakers')), y=points)) + geom_col() + xlab('Team')

Cite this article
stats writer (2024). How can I order items on the x-axis in ggplot2?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-i-order-items-on-the-x-axis-in-ggplot2/
stats writer. "How can I order items on the x-axis in ggplot2?." PSYCHOLOGICAL SCALES, 27 Jun. 2024, https://scales.arabpsychology.com/stats/how-can-i-order-items-on-the-x-axis-in-ggplot2/.
stats writer. "How can I order items on the x-axis in ggplot2?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-i-order-items-on-the-x-axis-in-ggplot2/.
stats writer (2024) 'How can I order items on the x-axis in ggplot2?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-i-order-items-on-the-x-axis-in-ggplot2/.
[1] stats writer, "How can I order items on the x-axis in ggplot2?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, June, 2024.
stats writer. How can I order items on the x-axis in ggplot2?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.
