Метки аннотации вдоль оси ggplot x, не имеющие равномерных зазоров

#r #ggplot2 #scale

Вопрос:

Я создал фрейм данных R следующим образом

  A<-data.frame("Col1"= c(21.5 ,22.5 ,15.5, 20.5 ,17.5 ,14.5 ,23.5, 11.5, 16.5, 25.5 ,18.5, 24.5 ,10.5 , 9.5, 19.5, 26.5, 13.5, 12.5 ,27.5,  4.5 , 5.5,  8.5,  6.5,  7.5))
 A$Col2=c(0.619219548, 0.723265668,0.122833055, 0.536849680, 0.257225692 ,0.081648474, 0.794797325 ,0.023125359, 0.194364553, 0.909681117, 0.343930779, 0.857658382, 0.018791029  ,0.014457257,   0.467485576 ,0.950865217, 0.062140165, 0.040464671, 0.989875246,    0.001502443,0.003637989 ,0.012290763, 0.005796326, 0.007959621)
 

Я создал следующий график в логарифмическом масштабе, используя пакет ggplot2

 library(scales)
library(ggplot2)

chart_1<-ggplot(A, aes(x=Col1, y=Col2))     geom_point()    geom_smooth(method = "lm")   
scale_x_log10(minor_breaks = seq(0,max(A$Col1)*10 , 0.1), breaks = pretty_breaks())   
scale_y_log10(minor_breaks = seq(0,100,0.1))  annotation_logticks(sides = "lb", outside = 
FALSE,short = unit(1,"mm"), mid = unit(3,"mm"),long = unit(6,"mm"))    theme( panel.grid.major 
= element_line(colour = "red", size = 0.5), panel.grid.minor= element_line(colour = "green", 
size = 0.2))
 

В этом я могу сгенерировать ось Y с одинаковыми 9 метками аннотации между 2 основными линиями сетки. т. е. между 0.001 — 0.01, 0.01 — 0.1 ,0.1 — 1, ось делится поровну на 10 делений. Я хотел бы, чтобы то же самое было сделано динамически вдоль оси x. Я не в состоянии сделать то же самое. Я прошу кого — нибудь направить меня в этом отношении. Заранее большое спасибо

Ответ №1:

Я верю, что ваш код работает просто отлично. Аннотация_logticks запишет 10 отметок между каждым значением шкалы log10 по умолчанию. Таким образом, у вас есть 10 отметок между 0,01 и 0,1, 10 отметок между 0,1 и 1, 10 отметок между 1 и 10 (вы можете видеть на своей оси x отметки на 5,6,7,8,9 и 10; и 10 отметок между 10 и 100- > 20,20,40…100. Вы можете увидеть галочку на 20 и 30 на вашей оси x.

Комментарии:

1. Я внес изменения и теперь могу видеть записи в журнале. график_21

2. Это влияет на линии сетки вдоль оси x