2014-09-22 10 views
0

woulds Привет Я хотел бы знать, существует простой способ извлечения значений оси Y от графа, например, у меня естьggplot2 добывающие у оси значений

set.seed(20) 
GG <- ggplot(data = data.frame(y=rnorm(20),x=1:20), aes(x=x,y=y))+geom_line() 

enter image description here

Я хотел бы получить вектор: c ("- 3", "- 2", "- 1", "0", "1", "2"), может быть, есть простая функция, которая генерирует их из всех значений в данных? Или, может быть, я могу извлечь их из GG?

Редактировать

data <- data.frame(y=c(4.99,99.20554),x=c(1,2)) 
ggplot(data=data,aes(x=x,y=y))+geom_line() 
pretty(data$y) 
[1] 0 20 40 60 80 100 

enter image description here

функция pretty() дает хороший, но не одни и те же результаты.

ответ

2

Позиции и тексты указателей оси вычисляются при отображении объекта GG. Вы можете build объект и проверить его:

> build = ggplot_build(GG) 
> build$panel$ranges[[1]]$y.labels 
[1] "-3" "-2" "-1" "0" "1" "2" 
> build$panel$ranges[[1]]$y.major_source 
[1] -3 -2 -1 0 1 2 

Теперь я подозреваю, что эти вещи очень внутренние и, возможно, может измениться и нарушить ваш код с новой версией ggplot2.

+1

не будет новой версии ggplot2 – baptiste

+2

'ggplot3' then ... – Spacedman

Смежные вопросы