Hola: Soy nuevo en esto de R, llevo toda la mañana perdida con esto, a ver si alguien me puede ayudar, Cuando genero el gráfico con el siguiente archivo: library(gplots) data <- read.table("data.dat",h=T) postscript(file = "join10kb.ps", horizontal = FALSE, onefile FALSE,family = "Helvetica", width = 5, height = 4) par(mar=c(5.1, 4.1, 0.1, 0.1)) d <- matrix(c(data$Per.Hop,data$Global,data$Sink),nrow=3) barplot2(d,beside=T,xlab="Distance between nodes (in meters)",ylab="Number of queries injected",legend.text=c("Per-Hop","Global","Sink"),col=c("black","grey","white")) axis(1,at=c(2.5,6.5,10.5),data$Xstep, tick=F) dev.off() Las barras verticales llegan hasta un valor aproximado de 400.000, sin embargo, la leyenda en el eje Y sólo llega hasta 350.000. He probado a poner con ylim(0,400000) y con esto, consigo lo que quiero pero el gráfico me corta la leyenda, es decir, en vez de aparecer 4e+05, sale 4e+ Alguna sugerencia?? muchas gracias. PD: El data.dat es tan sencillo como esto: Xstep Per-Hop Global Sink 10 390543 337155 167955 30 299127 255934 127607 60 222029 188617 94113 -- Dr. Félix Jesús Villanueva Molina Associate Professor School of Computer Science Paseo de la Universidad, 4 13071 Ciudad Real (Spain) http://arco.esi.uclm.es
Hola, Utiliza el detalle que aparece en legend(). Especifica la posición de la leyenda vía: The location may also be specified by setting x to a single keyword from the list "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" and "center". This places the legend on the inside of the plot frame at the given location. Saludos, Carlos Ortega www.qualityexcellence.es http://qualityexcellence.wordpress.com/ (Blog) 2011/5/18 Felix.Villanueva <felix.villanueva@uclm.es>> Hola: > Soy nuevo en esto de R, llevo toda la mañana perdida con esto, a ver si > alguien me puede ayudar, Cuando genero el gráfico con el siguiente > archivo: > > library(gplots) > data <- read.table("data.dat",h=T) > postscript(file = "join10kb.ps", horizontal = FALSE, onefile > FALSE,family = "Helvetica", width = 5, height = 4) par(mar=c(5.1, 4.1, > 0.1, 0.1)) > d <- matrix(c(data$Per.Hop,data$Global,data$Sink),nrow=3) > > barplot2(d,beside=T,xlab="Distance between nodes (in > meters)",ylab="Number of queries > > injected",legend.text=c("Per-Hop","Global","Sink"),col=c("black","grey","white")) > > axis(1,at=c(2.5,6.5,10.5),data$Xstep, tick=F) > dev.off() > > Las barras verticales llegan hasta un valor aproximado de 400.000, sin > embargo, la leyenda en el eje Y sólo llega hasta 350.000. He probado a > poner con ylim(0,400000) y con esto, consigo lo que quiero pero el > gráfico me corta la leyenda, es decir, en vez de aparecer 4e+05, sale > 4e+ > > Alguna sugerencia?? muchas gracias. > > PD: > El data.dat es tan sencillo como esto: > > Xstep Per-Hop Global Sink > 10 390543 337155 167955 > 30 299127 255934 127607 > 60 222029 188617 94113 > > > -- > Dr. Félix Jesús Villanueva Molina > Associate Professor > School of Computer Science > Paseo de la Universidad, 4 > 13071 Ciudad Real (Spain) > http://arco.esi.uclm.es > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Félix, me parece que el problema viene de tu configuración del marco del gráfico: par(mar=c(5.1, 4.1,0.1, 0.1)) Si das un poco de margen arriba: par(mar=c(5.1, 4.1,4.1, 0.1)) el problema se soluciona. Un saludo. Olivier -- ____________________________________ Olivier G. Nuñez Email: onunez en iberstat.es Tel : +34 663 03 69 09 Web: http://www.iberstat.es ____________________________________ El 18/05/2011, a las 12:04, Felix.Villanueva escribió:> Hola: > Soy nuevo en esto de R, llevo toda la mañana perdida con esto, a > ver si > alguien me puede ayudar, Cuando genero el gráfico con el siguiente > archivo: > > library(gplots) > data <- read.table("data.dat",h=T) > postscript(file = "join10kb.ps", horizontal = FALSE, onefile > FALSE,family = "Helvetica", width = 5, height = 4) par(mar=c(5.1, 4.1, > 0.1, 0.1)) > d <- matrix(c(data$Per.Hop,data$Global,data$Sink),nrow=3) > > barplot2(d,beside=T,xlab="Distance between nodes (in > meters)",ylab="Number of queries > injected",legend.text=c("Per-Hop","Global","Sink"),col=c > ("black","grey","white")) > > axis(1,at=c(2.5,6.5,10.5),data$Xstep, tick=F) > dev.off() > > Las barras verticales llegan hasta un valor aproximado de 400.000, sin > embargo, la leyenda en el eje Y sólo llega hasta 350.000. He probado a > poner con ylim(0,400000) y con esto, consigo lo que quiero pero el > gráfico me corta la leyenda, es decir, en vez de aparecer 4e+05, sale > 4e+ > > Alguna sugerencia?? muchas gracias. > > PD: > El data.dat es tan sencillo como esto: > > Xstep Per-Hop Global Sink > 10 390543 337155 167955 > 30 299127 255934 127607 > 60 222029 188617 94113 > > > -- > Dr. Félix Jesús Villanueva Molina > Associate Professor > School of Computer Science > Paseo de la Universidad, 4 > 13071 Ciudad Real (Spain) > http://arco.esi.uclm.es > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Gracias a ambos, al final con aumentar un poquito el margen como sugiere Olivier, queda perfecto, Gracias! El Wed, 18 May 2011 12:04:26 +0200 "Felix.Villanueva" <felix.villanueva en uclm.es> escribió:> Hola: > Soy nuevo en esto de R, llevo toda la mañana perdida con esto, a ver > si alguien me puede ayudar, Cuando genero el gráfico con el siguiente > archivo: > > library(gplots) > data <- read.table("data.dat",h=T) > postscript(file = "join10kb.ps", horizontal = FALSE, onefile > FALSE,family = "Helvetica", width = 5, height = 4) par(mar=c(5.1, 4.1, > 0.1, 0.1)) > d <- matrix(c(data$Per.Hop,data$Global,data$Sink),nrow=3) > > barplot2(d,beside=T,xlab="Distance between nodes (in > meters)",ylab="Number of queries > injected",legend.text=c("Per-Hop","Global","Sink"),col=c("black","grey","white")) > > axis(1,at=c(2.5,6.5,10.5),data$Xstep, tick=F) > dev.off() > > Las barras verticales llegan hasta un valor aproximado de 400.000, sin > embargo, la leyenda en el eje Y sólo llega hasta 350.000. He probado a > poner con ylim(0,400000) y con esto, consigo lo que quiero pero el > gráfico me corta la leyenda, es decir, en vez de aparecer 4e+05, sale > 4e+ > > Alguna sugerencia?? muchas gracias. > > PD: > El data.dat es tan sencillo como esto: > > Xstep Per-Hop Global Sink > 10 390543 337155 167955 > 30 299127 255934 127607 > 60 222029 188617 94113 > >-- Dr. Félix Jesús Villanueva Molina Associate Professor School of Computer Science Paseo de la Universidad, 4 13071 Ciudad Real (Spain) http://arco.esi.uclm.es