2010-08-06 2 views
32

Обычно, когда я рисую график линии R и устанавливаю ylim=c(0,some_value), между осью x и y = 0 имеется небольшое пространство.Установите графики R оси x для отображения при y = 0

Я хотел бы, чтобы ось y отображалась точно при y = 0, поэтому точки (x, 0) будут отображаться на оси y (и не выше).

ответ

39

Вы, вероятно, хотите графические параметры xaxs и yaxs в стиле "я":

plot(1:10, rnorm(10), ylim=c(0,10), yaxs="i") 

См ?par:

xaxs: Стиль интервала оси расчет будет использоваться для ось х. Возможные значения: «r», «i», «e», «s», «d». Стили, как правило, , управляемые диапазоном данных, или xlim, если задано. Стиль «r» (обычный) сначала расширяет диапазон данных на 4 процентов на каждом конце, а затем находит ось с красивыми надписями, которая соответствует в расширенном диапазоне. Стиль «i» (внутренний) просто находит ось с симпатичными ярлыками, которые вписываются в исходный диапазон данных . Стиль «s» (стандарт) находит ось с симпатичными этикетками, в которых исходные данные подходит под размер. Стиль «e» (расширенный) равен , как стиль «s», за исключением того, что он также гарантирует, что есть место для , отображающее символы в пределах рамки . Стиль «d» (прямой) указывает, что текущая ось должна использоваться на последующих графиках. (Только «г» и «я» стили в настоящее время реализованы)

yaxs: Стиль интервала расчета оси будет использоваться для оси у. См. xaxs выше.

+0

+1 Бинго! Спасибо. –

+0

Обратите внимание, что цитата: «В R были реализованы только стили« r »и« i ». Я думаю, это означает, что «e», «s» и «d» доступны только в S (что еще это может означать?) Во всяком случае, к сожалению, эти другие не доступны в R. – PatrickT

9

Другим вариантом является отключение оси заговоров в участке с использованием axes=F, а затем положить ось в отдельности с помощью команды оси, с pos вариантами контролирующих расстояния оси.

plot(1:10, runif(10), ylim=c(0,1), xlim=c(0,10),axes=F) 
    axis(1, pos=0) 
    axis(2, pos=0) 
Смежные вопросы