2011-01-04 2 views
9

Как расширить линию осевой линии в R, чтобы покрыть объем ваших данных? Например, вРасширить длину оси графика в R?

http://i.stack.imgur.com/xUvp3.png

мои данные поступают около 2100, и я хотел бы линию для оси х, чтобы пойти так далеко, но не сделать tickmark или этикетку на 2100. Это возможно даже в R ?

Вот код, который используется, чтобы сделать выше участка:

hist(x,breaks=50,xlab="...",main="",xlim=c(0,2100)) 

Спасибо.

ответ

8

Вам необходимо использовать две команды осей; один для оси, а другой - для тиков и меток.

set.seed(2); x <- rlnorm(1000, log(130)) 
hist(x, breaks=seq(0, 3000, by=200), xlim=c(0,2100), xaxt="n") 

axis(1, at=c(0,2100), labels=c("",""), lwd.ticks=0) 
axis(1, at=seq(0 , 2000, by=200), lwd=0, lwd.ticks=1) 

alt text

+0

спасибо! это делает трюк. Я не могу поверить, что не думал об этом. – spadequack

3

Как известная цитата

R> fortunes::fortune("yoda") 

Evelyn Hall: I would like to know how (if) I can extract some of 
the information from the summary of my nlme. 
Simon Blomberg: This is R. There is no if. Only how. 
    -- Evelyn Hall and Simon 'Yoda' Blomberg 
     R-help (April 2005) 
R> 

говорит "Существует нет, если. Только как.".

Вы можете устанавливать метки осей, которые вы хотите от

  • подавления меток осей по умолчанию и
  • настройки оси метки, которые вы хотите.

Старт с help(axis)

+0

Я смотрел на ось и получил немного ближе http://imgur.com/g0f1Q с номинальными (USR = С (0, макс (х), 0,1200)) гист (x, разрывы = 50, xlab = "...", main = "", xlim = c (0,2100), xaxt = "n") ось (1, at = seq (0,2500,500), метки = seq (0,2500,500)) , но теперь есть больше оси, чем хотелось бы, хотя я говорю, чтобы обрезать ее при max (x), которая равна 2074. После построения, par ("usr") [2] дает 2184. – spadequack

3

С Hist() вы можете контролировать расположение клещами и этикетки с осью:

hist(rlnorm(1000, log(130)), breaks=seq(0, 3000, by=200), xlim=c(0,2100) , axes=FALSE) 
axis(1, at=seq(0 , 2000, by=200) 

Если вы хотите, чтобы увидеть через каждые 200 интервал меченого вы можете вращать этикетки с аргументом las:

axis(1, at=seq(0 , 2000, by=200) , las=2) 
Смежные вопросы