library(ggplot2) #example stored in baseplot ID <- 1:400 values1 <- rnorm(200, mean=50, sd=10) values2 <- c(rnorm(100, mean=20, sd=10), rnorm(100, mean=40, sd=10)) df <- data.frame(ID, values1, values2) baseplot <- ggplot(df, aes(values1, values2)) + geom_point(size=2) baseplot #set defined axis ticks with breaks=c() baseplot + scale_y_continuous(breaks=c(12, 30, 55)) #set regular ticks with breaks=seq(a, b, c) baseplot + scale_x_continuous(breaks=seq(10, 90, 10)) + scale_y_continuous(breaks=seq(10, 90, 10)) #set regular ticks with breaks=seq(a, b, c) and keep the limits to 90 baseplot + scale_x_continuous(breaks=seq(10, 90, 10)) + scale_y_continuous(limits=c(NA,90), breaks=seq(10, 90, 10)) #set regular ticks with breaks=seq(a, b, c) baseplot + scale_x_continuous(breaks=c(seq(10, 50, 5), seq(50, 90, 10))) + scale_y_continuous(breaks=c(seq(20, 60, 2.5), seq(10, 90, 10))) #set ticks on log scales baseplot + scale_y_continuous(trans = "log10") + annotation_logticks(sides="l")