У меня есть две переменные, x
и y
x = runif(8, 0, runif(1, 1, 5))
y = x^2
что я хочу построить. Обратите внимание, что диапазон x
(и, следовательно, y=x^2
) не всегда одинаков.
Итак, команда
plot(x, y, pch=19, col='red')
производит
Однако мне не нужны границы вокруг графика, поэтому я использую параметр bty='n'
для графика:
plot(x, y, pch=19, col='red', bty='n')
который производит
Это немного прискорбно, имхо, так как я бы хотел, чтобы ось Y прошла весь путь до 4, а ось X - до 2.
Итак, я использую параметры xaxp
и yaxp
в команде plot
:
plot(x, y, pch=19, col='red', bty='n',
xaxp=c(
floor (min(x)),
ceiling(max(x)),
5
),
yaxp=c(
floor (min(y)),
ceiling(max(y)),
5
)
)
который создает
Это немного лучше, но все еще не показывает весь диапазон. Кроме того, я подумал, что хорошо, что маркировка осей по умолчанию использует шаги, подобные 1,2,3,4
или 0.5,1,1.5,2
, а не просто какие-то произвольные дроби.
Я предполагаю, что у R есть какой-то параметр или механизм для построения полного диапазона по оси «человеческим» способом (0,5,1,1,5...), но я его не нашел. Итак, что я мог попробовать?
axes=FALSE'
в начальный вызовplot()
, а затем использоватьaxis()
для создания пользовательских осей с отметками и метками, где вам нравится использовать «at», например, at=seq(0, 2, 0,5) для вашей оси. - person ulfelder   schedule 14.07.2015set.seed(1)
), чтобы другие могли полностью воспроизвести ваш вывод. - person lukeA   schedule 14.07.2015