Как настроить размер метки оси Y только в R?

Как я могу настроить только размер меток оси Y в R?

Я знаю, что cex.axis изменяет размер меток оси, но влияет только на ось X. Почему и как я могу настроить ось Y?

Ответы на вопрос(3)

Решение Вопроса

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)

 Jens23 сент. 2010 г., 15:30
Привет, извините за неточность (снова). На самом деле я использую барплот с числовой осью X, но со строками для меток оси Y. Я предполагаю, что cex.axis в barplot не может обрабатывать текст, так как в справке для par он говорит: «cex.axis = коэффициент расширения для меток числовых осей». Я думаю, что я должен использовать ваш подход с дополнительной командой оси, чтобы изменить мою ось Y. Большое спасибо
 Joris Meys23 сент. 2010 г., 16:19
@ucfagls В моей системе это действительно работает для оси Y. Для оси X это дает неверный результат. Я адаптировал свой ответ для барплота.
 Joris Meys23 сент. 2010 г., 16:19
@Jens Не могли бы вы отредактировать свой вопрос и указать, что это для барплота? Спасибо
 Gavin Simpson23 сент. 2010 г., 15:46
@Jens; При использованииbarplot() отдельныйaxis() вызовы не будут работать, потому что метки панели не являются "осью". Использоватьaxis() Вы должны были бы проложить средние точки бара (они возвращаютсяbarplot()). Используяtext() Вызов с отключенным отсечением также может быть способом создания пользовательской «оси» для барплота.
 Gavin Simpson23 сент. 2010 г., 23:27
действительно, но то, является ли ось Y "осью" или помеченным набором столбцов, зависит отhoriz аргументbarplot(), Проблема Йенса была в том, чтоcex.axis не работал для одной из осей (в его случае ось х, поэтому мы предполагаем, что он использовал по умолчаниюhoriz = FALSE). Мой комментарий был, не тоaxis() это неправильно, просто управление осью X (в случае с Йенсом) или метками столбцов не может управляться отдельным вызовомaxis() [хорошо, легко]. В конечном итоге это сводится к тому, чтобы не читать?barplot и не предоставил нам здесь воспроизводимый пример, показывающий проблему.

что вы делаете (полезно показать, что вы пробовали, это не сработало), но вы утверждаете, что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(), что позволяет контролировать метки панели:

dat <- rpois (10, 3) names (dat) <- LETTERS [1:10] barplot (dat, cex.names = 3, cex.axis = 2)

Как вы упоминаете, чтоcex.axis влияет только на ось х, я полагаю, у вас былоhoriz = TRUE в вашемbarplot() позвонить также? Поскольку метки бара не нарисованы сaxis() Звоните, применяя Joris '(иначе очень полезный) ответ с индивидуальнымaxis() звонки не помогут в этой ситуации, когда вы используетеbarplot()

НТН

что мы хотим настроить размер меток, а не отметки, которые я решил, что я действительно могу добавить что-то к вопросу, вам нужно использовать 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= возможность получить оптимальное позиционирование текста, но, кроме того, он действительно прост в использовании.

Ваш ответ на вопрос