I'm looking to adapt the x-scale of my graph with the ggplot2 library
Here is a example of what I mean:
example <- data.frame(a = 1:2000, b = rnorm(n = 2000))
ggplot(example,aes(a,b)) + geom_point() + scale_x_continuous(n.breaks = 5)
Giving me this plot
What I want to do is to change the breaks of the x-axis so that its scale is not linear anymore.
As a example I'm looking to change the values of the breaks 500,1000,1500 to 2,20,200 respectively. The graph needs to adapt to this change of scale
We can log transform an axis with base 10 using scale_x_log10
, then use scales::trans_breaks
to set your desired breaks.
library(tidyverse)
library(scales)
set.seed(123)
example <- data.frame(a = 1:2000, b = rnorm(n = 2000))
ggplot(example, aes(a, b)) +
geom_point() +
scale_x_log10(breaks = trans_breaks("log10", function(x) 2*10^x))
Created on 2022-07-26 by the reprex package (v2.0.1)