Как настроить только размер меток Y-оси в R?Как отрегулировать размер меток оси y только в R?
Я знаю, что cex.axis изменяет размер меток оси, но влияет только на ось x. Почему, и как я могу настроить ось y?
Как настроить только размер меток Y-оси в R?Как отрегулировать размер меток оси 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 = «п» следует избегать, что команда участок участки у-оси без изменения. Для оси х, это работает точно так же:
plot(Y ~ X, data=foo,xaxt="n")
axis(1,cex.axis=2)
Смотри также файлы справки пар и ось
Edit:? Как это для barplot, посмотрите на CEX варианты .axis и cex.Имена:
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)
Не знаю, что вы делаете (полезно, чтобы показать, что вы пробовали, не работает), но ваше утверждение, что cex.axis
воздействует только на ось х не так:
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()
, который позволяет управлять штриховыми метками:
< Дат - rpois (10, 3) имен (DAT) < - ПИСЬМА [1:10] barplot (Даты, Сех. имена = 3, cex.axis = 2)
Как вы говорите, что cex.axis
влияла только ось х, я полагаю, вы имели horiz = TRUE
в вашем barplot()
вызова, а? Поскольку бар этикетки не рисуются с axis()
вызова, применяя Joris' (в противном случае очень полезно) ответ с отдельными axis()
вызовов не поможет в этой ситуации с вами, используя barplot()
HTH
Как видно из названия, что мы хотим изменить размер этикетки, а не засечки я понял, что я на самом деле, возможно, что-то добавить к этому вопросу, вы должны использовать mtext(), если вы хотите указать один из размеров ярлыков, или просто можете использовать par(cex.lab=2)
в качестве простой альтернативы. Вот более продвинутый мтекст() пример:
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=
, чтобы получить оптимальное расположение текста, но кроме того, это очень простой в использовании.
Привет, извините за непонятное (снова). На самом деле я запускаю баррель с числовой осью X, но с строками для ярлыков оси y. Я предполагаю, что cex.axis в barplot не может обрабатывать текст, поскольку в help для par он говорит: «cex.axis = коэффициент расширения для меток числовой оси». Думаю, я должен использовать ваш подход с дополнительной командой оси для изменения оси y. Большое спасибо – Jens
@Jens; Если использование '' barplot() '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' Чтобы использовать 'axis()', вам нужно будет указать средние точки бара (они возвращаются 'barplot()'). Использование вызова 'text()' с отключением отсечения также может быть способом сделать пользовательскую «ось» для штрих-кода. –
@ucfagls В моей системе это действительно работает для оси Y. Для оси X это дает неправильный результат. Я адаптировал свой ответ за баррель. –