2010-11-08 4 views
3

У меня возникают проблемы с получением оси y на горизонтальной панели() в области построения графика. См. Этот пример, я думал, что использование ylim и/или yaxp остановит это, если вы покинете область построения графика, но, похоже, это не работает.Ось Y из области печати с barplot() в R

Я попытался воспроизвести настройки у меня есть:

x <- matrix(abs(rnorm(34)), nrow = 34, ncol = 3) 
rownames(x) <- c(seq(0,6600,200)) 
barplot(x[,3], horiz=TRUE, space = 0.4, main = "Title", las=1, cex.names=0.8, ylab="y label") 

Но ось идет заговорщической области, если добавить ylim:

barplot(x[,3], horiz=TRUE, space = 0.4, ylim = c(0,25), yaxp=c(0,25,1), main = "Title", las=1, cex.names=0.8, ylab="y label") 
+0

Не могли бы вы предоставить более подробную информацию о том, что вы пытаетесь здесь сделать? Установка ylim = c (0,50) гарантирует, что все останется в окне графика. Это ваш вопрос? –

+0

Thanks, но см. Комментарий ниже. – CCID

ответ

3

ключ он повторно, чтобы забыть о ylim при использовании barplot и вместо того, чтобы просто отправить нужный диапазон построения графиков в данных:

barplot(x[1:25,3], horiz=TRUE, space = 0.4, yaxp=c(0,25,1), main = "Title", las=1, 
      cex.names=0.8, ylab="y label") 

отметить также, что индексация в R начинается с 1, а не 0, как это могло бы в некоторых других языках.

+0

Хорошо, это имеет смысл. Благодарю. Кстати, из любопытства илим в барплоте ведет себя по-другому по отношению к другим сюжетам? – CCID

+0

Это, казалось, показалось мне «неожиданным» поведением. –

2

Для некоторых (странно?) причина, barplot имеет XPD = T по умолчанию, установив это ложь заставит его клип, как и большинство сюжетных функций:

barplot(x[,3], horiz=TRUE, space = 0.4, ylim = c(0,25), yaxp=c(0,25,1), main = "Title", las=1, cex.names=0.8, ylab="y label", xpd=F) 
+0

Спасибо за эти ответы, однако, чтобы быть более ясными, вместо изменения моего набора данных, я хочу ограничить график до первых 25 баров в этом случае. Если я использую xpd = F, как и в предыдущем, то график отсекает после первых 18,5 баров и, похоже, не учитывает ylim. – CCID

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