Hola, ¿hay alguna forma de colocar la leyenda de un gráfico sin que se
superponga con las barras de mi gráfico?
Os dejo mi ejemplo para que me entendáis:
##
dado_1<-sample(1:6,1200,replace=T)dado_2<-sample(1:6,1200,replace=T)dado_3<-sample(1:6,1200,replace=T)
dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
barplot(t(dados),beside=TRUE,ylab="Frecuencias
absolutas",main="Dados",names.arg=c(1,2,3,4,5,6),col=c("lightblue","green","blue"))legend(2,220,c("Dado1","Dado2","Dado3"),cex=0.6,bty="n",fill=c("lightblue","green","blue"))
##
Mi intención es poner la leyenda al lado del título "Dados" por
ejemplo, pero no sé cómo hacerlo.
Gracias, un saludo
[[alternative HTML version deleted]]
Celia,
Fíjate si te sirve el siguiente código.
dado_1<- sample(1:6,1200,replace=T)
dado_2<-sample(1:6,1200,replace=T)
dado_3<-sample(1:6,1200,replace=T)
dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
layout(matrix(c(1,1,0,2), 2, 16, byrow = TRUE))
# layout.show()
par( mar=c(5, 5, 4, 3))
barplot(t(dados),beside=TRUE,ylab="Frecuencias absolutas",
main="Dados",names.arg=c(1,2,3,4,5,6),col=c("lightblue","green","blue"))
plot.new()
legend("topright", inset=c(0, 0),
c("Dado1","Dado2","Dado3"),bty="n",fill=c("lightblue","green","blue"))
library(ggplot2)
library(reshape2)
colnames(dados) <- c("Dado1","Dado2","Dado3")
dadoslong <- melt(dados)
colnames(dadoslong) <- c('fila', 'Dado', 'valor')
ggplot(dadoslong, aes( x= fila, y = valor, fill=Dado)) + geom_bar(
stat="identity", position="dodge")
Daniel Merino
El 19 de marzo de 2014, 15:26, Celia Rubio Linares
<ceruli1@hotmail.com>escribió:
> Hola, ¿hay alguna forma de colocar la leyenda de un gráfico sin que se
> superponga con las barras de mi gráfico?
> Os dejo mi ejemplo para que me entendáis:
> ##
>
>
dado_1<-sample(1:6,1200,replace=T)dado_2<-sample(1:6,1200,replace=T)dado_3<-sample(1:6,1200,replace=T)
> dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
> barplot(t(dados),beside=TRUE,ylab="Frecuencias
>
absolutas",main="Dados",names.arg=c(1,2,3,4,5,6),col=c("lightblue","green","blue"))legend(2,220,c("Dado1","Dado2","Dado3"),cex=0.6,bty="n",fill=c("lightblue","green","blue"))
> ##
> Mi intención es poner la leyenda al lado del título "Dados" por
ejemplo,
> pero no sé cómo hacerlo.
> Gracias, un saludo
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
--
Daniel
[[alternative HTML version deleted]]
Hola,
Otra forma, simplemente ampliando el eje el rango del eje "Y" y
poniendo la
leyenda en tres columnas...
#---------------------------------------------
dado_1<-sample(1:6,1200,replace=T)
dado_2<-sample(1:6,1200,replace=T)
dado_3<-sample(1:6,1200,replace=T)
dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
barplot(
t(dados),beside=TRUE
,ylab="Frecuencias absolutas",main="Dados"
,names.arg=c(1,2,3,4,5,6)
,col=c("lightblue","green","blue")
*,ylim=c(0,max(t(dados))*1.10)*
)
legend(
*"top", ncol=3*
,c("Dado1","Dado2","Dado3")
,cex=0.6,bty="n"
,fill=c("lightblue","green","blue")
)
box()
#---------------------------------------------
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 19 de marzo de 2014, 19:26, Celia Rubio Linares
<ceruli1@hotmail.com>escribió:
> Hola, ¿hay alguna forma de colocar la leyenda de un gráfico sin que se
> superponga con las barras de mi gráfico?
> Os dejo mi ejemplo para que me entendáis:
> ##
>
>
dado_1<-sample(1:6,1200,replace=T)dado_2<-sample(1:6,1200,replace=T)dado_3<-sample(1:6,1200,replace=T)
> dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
> barplot(t(dados),beside=TRUE,ylab="Frecuencias
>
absolutas",main="Dados",names.arg=c(1,2,3,4,5,6),col=c("lightblue","green","blue"))legend(2,220,c("Dado1","Dado2","Dado3"),cex=0.6,bty="n",fill=c("lightblue","green","blue"))
> ##
> Mi intención es poner la leyenda al lado del título "Dados" por
ejemplo,
> pero no sé cómo hacerlo.
> Gracias, un saludo
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Hola,
Y por no dejar pasar la oportunidad de hacerlo con "lattice"...
Que permite una gestión un poco mejor de la leyenda fuera del área del
gráfico junto al título.
Pero utilizando el tema de ggplot2, para ello se ha de utilizar
(latticeExtra)
#-------------------------------------------------
library(lattice)
library(latticeExtra)
Freq <- c(
table(sample(1:6,1200, replace=T))
,table(sample(1:6,1200, replace=T))
,table(sample(1:6,1200, replace=T))
)
dados.df <- data.frame(
as.data.frame(Freq)
,Val=names(dados.vec)
,Dad=rep(c("D1","D2","D3"),each=6)
)
barchart(
Freq ~ Val
,groups=Dad
,data=dados.df
,stack=F
,auto.key=list(space="top", columns=3)
,main="Dados"
,ylim=c(0,max(Freq))
,par.settings = ggplot2like()
,axis=axis.grid
)
#----------------------------------------------------
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 19 de marzo de 2014, 23:24, Carlos Ortega
<cof@qualityexcellence.es>escribió:
> Hola,
>
> Otra forma, simplemente ampliando el eje el rango del eje "Y" y
poniendo
> la leyenda en tres columnas...
>
> #---------------------------------------------
>
> dado_1<-sample(1:6,1200,replace=T)
>
> dado_2<-sample(1:6,1200,replace=T)
> dado_3<-sample(1:6,1200,replace=T)
> dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
>
> barplot(
> t(dados),beside=TRUE
>
> ,ylab="Frecuencias absolutas",main="Dados"
> ,names.arg=c(1,2,3,4,5,6)
> ,col=c("lightblue","green","blue")
> *,ylim=c(0,max(t(dados))*1.10)*
> )
>
> legend(
> *"top", ncol=3*
>
> ,c("Dado1","Dado2","Dado3")
> ,cex=0.6,bty="n"
> ,fill=c("lightblue","green","blue")
> )
> box()
>
>
> #---------------------------------------------
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
>
>
> El 19 de marzo de 2014, 19:26, Celia Rubio Linares
<ceruli1@hotmail.com>escribió:
>
>> Hola, ¿hay alguna forma de colocar la leyenda de un gráfico sin que se
>> superponga con las barras de mi gráfico?
>> Os dejo mi ejemplo para que me entendáis:
>> ##
>>
>>
dado_1<-sample(1:6,1200,replace=T)dado_2<-sample(1:6,1200,replace=T)dado_3<-sample(1:6,1200,replace=T)
>> dados<-matrix(c(table(dado_1),table(dado_2),table(dado_3)),6)
>> barplot(t(dados),beside=TRUE,ylab="Frecuencias
>>
absolutas",main="Dados",names.arg=c(1,2,3,4,5,6),col=c("lightblue","green","blue"))legend(2,220,c("Dado1","Dado2","Dado3"),cex=0.6,bty="n",fill=c("lightblue","green","blue"))
>> ##
>> Mi intención es poner la leyenda al lado del título "Dados"
por ejemplo,
>> pero no sé cómo hacerlo.
>> Gracias, un saludo
>> [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]