Пометьте ось, созданную функцией axis () - PullRequest
0 голосов
/ 05 июня 2018

Я строю график с двумя осями в базе r и не могу добавить метку к вторичной оси.Вот то, с чем я работаю:

dados = structure(list(IDADE = c(65L, 35L, 65L, 42L, 50L, 44L, 0L, 58L, 
                             22L, 27L, 34L, 31L, 0L, 24L, 34L, 20L, 4L, 34L, 20L, 27L, 8L, 
                             2L, 20L, 31L, 45L, 26L, 26L, 40L, 50L, 34L), ESTADO = c(1L, 1L, 
                                                                                     1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 
                                                                                     1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L), TIPINT = c(3L, 
                                                                                                                                                 1L, 3L, 2L, 3L, 2L, 2L, 3L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 
                                                                                                                                                 3L, 2L, 2L, 2L, 3L, 3L, 2L, 2L, 1L, 3L, 2L, 3L, 1L), DIARIAS = c(2L, 
                                                                                                                                                                                                                  2L, 4L, 1L, 1L, 1L, 10L, 1L, 2L, 2L, 2L, 3L, 3L, 1L, 2L, 3L, 
                                                                                                                                                                                                                  6L, 10L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 6L, 1L, 1L, 2L)), .Names = c("IDADE", 
                                                                                                                                                                                                                                                                                        "ESTADO", "TIPINT", "DIARIAS"), row.names = c(NA, 30L), class = "data.frame")

#Define boxplot base
bx = boxplot(dados$IDADE~dados$TIPINT,axes=F, xlab=NA,ylab=NA,col=heat.colors(3,0.6))

#Posiciona eixos
par(mar = c(5,5,2,5))

#Plota bar
barplot(table(dados$TIPINT),col=heat.colors(3,0.4),names=c("Tipo 1","Tipo 2","Tipo 3"),
    ylab = "Quantidade de pacientes")

#Plota box
par(new=T)
bx2 = bxp(bx,boxwex = 0.50, at = c(0.9, 2,3.1),axes=F, xlab=NA, ylab="l",boxfill=heat.colors(3,0.7))
axis(side=4)

, что дает мне следующий график graph_example

Я пытаюсь обозначить правую ось, но axis(side=4,labels="labels") для чего-то другого, а axis(side=4,ylab="label") не работает.

Спасибо

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете использовать функцию mtext, чтобы добавить метку к вторичной оси, используя аргумент line=2, чтобы переместить ее на соответствующее расстояние от оси.

mtext("label", 4, line=2)

axis label with mtext

В качестве альтернативы вы можете использовать просто text для более точного контроля, если, скажем, вы хотите переориентировать метку.Вы можете вытащить размеры графика из par("usr") и настроить соответственно.

p <- par("usr")
text(p[2]+0.4, mean(p[3:4]), labels = "label", xpd=NA, srt = -90)

axis label with text

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...