Rotating axis labels in R
336,661
Solution 1
Not sure if this is what you mean, but try setting las=1
. Here's an example:
require(grDevices)
tN <- table(Ni <- stats::rpois(100, lambda=5))
r <- barplot(tN, col=rainbow(20), las=1)
That represents the style of axis labels. (0=parallel, 1=all horizontal, 2=all perpendicular to axis, 3=all vertical)
Solution 2
Use par(las=1)
.
See ?par
:
las
numeric in {0,1,2,3}; the style of axis labels.
0: always parallel to the axis [default],
1: always horizontal,
2: always perpendicular to the axis,
3: always vertical.
Solution 3
As Maciej Jończyk mentioned, you may also need to increase margins
par(las=2)
par(mar=c(8,8,1,1)) # adjust as needed
plot(...)
Solution 4
You need to use theme() function as follows rotating x-axis labels by 90 degrees:
ggplot(...)+...+ theme(axis.text.x = element_text(angle=90, hjust=1))
Solution 5
First, create the data for the chart
H <- c(1.964138757, 1.729143013, 1.713273714, 1.706771799, 1.67977205)
M <- c("SP105", "SP30", "SP244", "SP31", "SP147")
Second, give the name for a chart file
png(file = "Bargraph.jpeg", width = 500, height = 300)
Third, Plot the bar chart
barplot(H,names.arg=M,ylab="Degree ", col= rainbow(5), las=2, border = 0, cex.lab=1, cex.axis=1, font=1,col.axis="black")
title(xlab="Service Providers", line=4, cex.lab=1)
Finally, save the file
dev.off()
Output:
Related videos on Youtube
Author by
Phoebe
A professor in games, team coordination, augmented reality, and mobile at New Mexico State University.
Updated on October 18, 2021Comments
-
Phoebe over 2 years
How do I make a (bar) plot's y axis labels parallel to the X axis instead of parallel to the Y axis?
-
Stéphane Laurent about 11 years
-
-
andrewj over 11 yearsIs there a way to set it so that only the x axis labels are perpendicular to the axis?
-
rcs over 11 yearsTe style can be set for each axis separately, e.g.
plot(1, xaxt="n", yaxt="n"); axis(1, las=2); axis(2, las=1)
-
HongboZhu about 10 yearsalways backup par before doing any changes like that: old.par <- par(no.readonly=T) :-)
-
boczniak767 over 9 yearsit works, but it trim labels. So additional options may be required.
-
C8H10N4O2 over 6 yearsshould be 90 degrees
-
jmb over 4 yearsIs there an easy way to rotate the axis ticks labels? E.g. if I have larger numbers as axis tick labels, it is nice to have them rotated by around 45 degrees to strike a good balance between readability (horizontal) and space efficiency (vertical).