Ось R не отображается

Боюсь, я буквально потерял сюжет! Почему команда оси не помещает ось X на следующем графике? Это должно быть что-то смешное, так как я не могу упростить намного больше.

yar <- c(.2,.1,.05,.03,.02)
plot(yar,xaxt='n')
axis(1, at=c(0.01,0.02,0.03,0.04,0.05))

2 ответа

Решение

Причина, по которой ваша ось x не отображается, заключается в том, что вы поместили ее в область графика, где она настолько мала, что не отображается в качестве выходных данных. Вы дали следующую команду заговора:

plot(yar, xaxt='n')

что на самом деле так же, как делать

plot(c(1:5), yar, xaxt='n')

Поскольку вы никогда не указывали никаких значений x, значением x по умолчанию являются просто числа от 1 до 5, соответствующие указанным вами значениям y.

Решение проблемы - разместить ось X там, где она будет видна. Следовательно, вы можете попробовать следующий код:

xar <- 0.01*c(1:5)
yar <- c(.2,.1,.05,.03,.02)
plot(xar, yar, xaxt='n')
axis(1, at=xar)

Поскольку plot Для функции нужны два элемента (координаты): x и y. Вы указали координаты y и без определяемых пользователем координат x, R назначает стандарт 1:n координаты где n равно количеству баллов, в данном случае 5.

С вашими данными попробуйте это:

yar <- c(.2,.1,.05,.03,.02)
plot(yar, xaxt='n')
axis(1, at=c(1, 2, 3, 4, 5))

Это имеет этот вывод:

В качестве решения здесь используется один подход: вы можете поместить координаты x в значения по умолчанию, выбранные R, а затем можете использовать метки по своему желанию. Посмотрите на следующий код и особенно labels аргумент axis функция.

yar <- c(.2,.1,.05,.03,.02)
plot(yar, xaxt='n')
axis(1, at = c(1, 2, 3, 4, 5), labels = as.character(sort(yar)))

который производит:

Другие вопросы по тегам