Изменить метку оси — диаграмма рассеяния R

Я использую функцию диаграммы рассеяния библиотеки CAR, пытаясь сделать что-то похожее на R: заменить X -ось с собственными значениями. Однако результат плохо отформатирован. Кто-нибудь знает, как заменить значения оси x при использовании диаграммы рассеяния? Мой код ниже

library(car)
dat = data.frame(x=1:10, y=1:10)
scatterplot(y~x, data=dat, xlab="X axis", ylab="Y Axis", xaxt="n")
axis(1, at=seq(1,10,2), labels=letters[1:5])

С полученным изображением

Плохой график рассеяния


person JHowIX    schedule 29.05.2014    source источник
comment
ЧТО на самом деле означает, что результат плохо отформатирован?   -  person IRTFM    schedule 30.05.2014
comment
@hd - добавление этого к осям (..), похоже, ничего не изменило. Вы можете использовать pos=1.2, чтобы избавиться от вертикального пространства, но я не нашел ничего, что могло бы изменить горизонтальное выравнивание или интервал.   -  person JHowIX    schedule 30.05.2014
comment
@BondedDust - я думал, что это будет довольно очевидно на картинке, но буквенная маркировка вдоль оси x не совпадает с делениями как в масштабе, так и в интервале. Если вы посмотрите на ссылку, вы можете сравнить с графиком, который я считаю правильно отформатированным.   -  person JHowIX    schedule 30.05.2014
comment
Я думал, вы имеете в виду, как были созданы письма. Вас на самом деле заморочили оформлением меток и делений.   -  person IRTFM    schedule 30.05.2014


Ответы (1)


Чтение страницы справки car:::scatterplot, как кажется, является моим призванием в жизни, ....

reset.par   if TRUE then plotting parameters are reset to their previous values when scatterplot 
            exits; if FALSE then the mar and mfcol parameters are altered for the current 
            plotting device. Set to FALSE if you want to add graphical elements (such as lines) 
            to the plot.

Установите значение FALSE и повторите попытку.

png(); scatterplot(y~x, data=dat, xlab="X axis", ylab="Y Axis", xaxt="n", reset.par=FALSE)
 axis(1, at=seq(1,10,2), labels=letters\[1:5\])
dev.off()

введите здесь описание изображения

person IRTFM    schedule 29.05.2014