Как настроить только размер меток Y-оси в R?
Я знаю, что cex.axis изменяет размер меток оси, но влияет только на ось x. Почему и как я могу отрегулировать ось y?
Как настроить только размер меток Y-оси в R?
Я знаю, что cex.axis изменяет размер меток оси, но влияет только на ось x. Почему и как я могу отрегулировать ось y?
ucfagls прав, если вы используете команду plot()
. Если нет, пожалуйста, сообщите нам подробнее.
В любом случае вы можете управлять каждой осью отдельно, используя команду axis()
и xaxt
/yaxt
в plot()
. Используя данные ucfagls, это становится:
plot(Y ~ X, data=foo,yaxt="n")
axis(2,cex.axis=2)
опция yaxt = "n" необходима, чтобы избежать того, что команда plot отображает ось y без изменения. Для оси x это работает точно так же:
plot(Y ~ X, data=foo,xaxt="n")
axis(1,cex.axis=2)
См. также файлы справки? par и? axis
Изменить: как и для штрих-кода, посмотрите параметры cex.axis и cex.names:
tN <- table(sample(letters[1:5],100,replace=T,p=c(0.2,0.1,0.3,0.2,0.2)))
op <- par(mfrow=c(1,2))
barplot(tN, col=rainbow(5),cex.axis=0.5) # for the Y-axis
barplot(tN, col=rainbow(5),cex.names=0.5) # for the X-axis
par(op)
Как видно из заголовка, мы хотим настроить размер меток, а не метки, которые, как я понял, на самом деле могли бы добавить что-то к вопросу, вам нужно использовать mtext(), если вы хотите указать один из размеры меток, или вы можете просто использовать par(cex.lab=2)
в качестве простой альтернативы. Здесь представлен более продвинутый пример mtext():
set.seed(123)
foo <- data.frame(X = rnorm(10), Y = rnorm(10))
plot(Y ~ X, data=foo,
yaxt="n", ylab="",
xlab="Regular boring x",
pch=16,
col="darkblue")
axis(2,cex.axis=1.2)
mtext("Awesome Y variable", side=2, line=2.2, cex=2)
Вам может потребоваться настроить параметр line=
, чтобы получить оптимальное позиционирование текста, но, кроме того, он очень прост в использовании.
Не знаю, что вы делаете (полезно показать, что вы пробовали, что не сработало), но ваше утверждение о том, что cex.axis
влияет только на ось x, неверно:
set.seed(123)
foo <- data.frame(X = rnorm(10), Y = rnorm(10))
plot(Y ~ X, data = foo, cex.axis = 3)
по крайней мере для меня:
> sessionInfo()
R version 2.11.1 Patched (2010-08-17 r52767)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=C LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] grid stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] ggplot2_0.8.8 proto_0.3-8 reshape_0.8.3 plyr_1.2.1
loaded via a namespace (and not attached):
[1] digest_0.4.2 tools_2.11.1
Кроме того, cex.axis
влияет на маркировку меток. cex.lab
используется для управления тем, что R вызывает метки осей.
plot(Y ~ X, data = foo, cex.lab = 3)
но даже это работает как для оси x, так и для оси y.
Следуя комментарию Йенса об использовании barplot()
. Проверьте аргумент cex.names
на barplot()
, который позволяет вам управлять метками панели:
dat < - rpois (10, 3) имена (dat) < - ПИСЬМА [1:10] barplot (dat, cex.names = 3, cex.axis = 2)
Как вы отмечаете, что cex.axis
влияет только на ось x, я полагаю, что у вас был horiz = TRUE
в вашем вызове barplot()
? Поскольку метки ярлыков не нарисованы с вызовом axis()
, применение Joris '(в противном случае очень полезного) ответа с индивидуальными вызовами axis()
не поможет в этой ситуации с вами, используя barplot()
НТН