Segue uma outra sugestão, bem próxima do código original:


set.seed(1234)
x1 <- abs(rnorm(10))
x2 <- abs(rnorm(10)) + 100

par(mar=c(5,5,4,5))
bp <- barplot(x1, xlim=c(0,12), ylim=c(0,3), xlab='', ylab='VAR 01', xaxt='n')
par(new=T)
plot(bp, x2, t='b', xlim=c(0,12), xlab='', ylab='', xaxt='n', yaxt='n', bty='n', ylim=c(100,103), yaxs='i')
axis(4)
mtext('VAR 02', side=4, line=3)
grid(NA, 6)
abline(v=bp[,1], col='lightgray', lty='dotted')
axis(1, at=bp, labels=letters[1:10])


Att.

Alexandre


On Feb 20, 2012, at 10:06 PM, Paulo J Ribeiro Jr wrote:

Cleber

me parece que a solucao para "customização" completa seria voce fazer o
gráfico sem eixos (axis=F) e depois usar o axis(1, ...), axis(2, ...)
etc



Em Seg, 2012-02-20 às 21:39 -0200, Cleber N.Borges escreveu:
Consegui obter o visual desejado do gráfico com o seguinte código:

#######################################
set.seed(1234)
x1 <- abs(rnorm(10))
x2 <- abs(rnorm(10)) + 100
### Primeira Camada
par(mar=c(4.5,4,4,4.5), yaxs='i')
plot( bp[,1], x2, xlim=c(0,12), xlab='', ylab='', xaxt='n', yaxt='n',
bty='n', ylim=c(100,103), t='n'  )
axis(4)
mtext('VAR 02', side=4, padj=4.5)
grid()
### Segunda Camada
par( new=T, yaxs='i' )
bp <- barplot( x1, xlim=c(0,12), ylim=c(0,3), xlab='', ylab='VAR 01',
names.arg=letters[1:10] )
### Terceira Camada
par( new=T, yaxs='i' )
plot( bp[,1], x2, t='b', xlim=c(0,12), xlab='', ylab='', xaxt='n',
yaxt='n', bty='n', ylim=c(100,103) )
#######################################

Porém gostaria de saber o modo mais correto de se fazer a mesma coisa e
também de como retirar as configurações do XLAB='VAR 01' e
repassar para o segundo eixo de forma idêntica!
O código acima assusta de tão horrível! :-(

Cleber






Em 20/02/2012 16:02, Cleber N.Borges escreveu:
Olá a todos,

Gostaria de ajustar um segundo eixo Y (VAR 01), de acordo com o
primeiro eixo Y (VAR 02).

o que eu não consegui:

1 - ajustar o 'zero' do primeiro com o 'zero' do segundo eixo Y
2 - colocar o nome do segundo eixo (um ylab='VAR 02')

Imagino que vendo o que eu quero, fica mais fácil entender, então
segue um código exemplo junto.
Agradeço antecipadamente por qualquer ajuda.

Cleber
#############

set.seed(1234)
x1 <- abs(rnorm(10))
x2 <- abs(rnorm(10)) + 100

par(mar=c(5,4,4,5))
bp <- barplot( x1, xlim=c(0,12), ylim=c(0,3), xlab='', ylab='VAR 01',
xaxt='n')
par( new=T )
plot( bp[,1], x2, t='b', xlim=c(0,12), xlab='', ylab='', xaxt='n',
yaxt='n', bty='n', ylim=c(100,103) )
axis(4, ylab='VAR 02')
grid()
axis(1, at=bp[,1], labels=letters[1:10])





_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.