phgrosjean@sciviews.org
2004-Apr-16 11:41 UTC
[Rd] barplot() does not draw bars correctly in R 1.9.0 (PR#6776)
Bars are not stacked, but superimposed. This happens even with the first example of barplot: tN <- table(Ni <- rpois(100, lambda=5)) r <- barplot(tN, col='gray') --please do not edit the information below-- Version: platform = i386-pc-mingw32 arch = i386 os = mingw32 system = i386, mingw32 status major = 1 minor = 9.0 year = 2004 month = 04 day = 12 language = R Windows XP Professional (build 2600) Service Pack 1.0 Search Path: .GlobalEnv, package:methods, package:stats, package:graphics, package:utils, Autoloads, package:base .......................................................<?}))><.... ) ) ) ) ) ( ( ( ( ( Prof. Philippe Grosjean \ ___ ) \/ECO\ ( Numerical Ecology of Aquatic Systems /\___/ ) Mons-Hainaut University, Pentagone / ___ /( 8, Av. du Champ de Mars, 7000 Mons, Belgium /NUM\/ ) \___/\ ( phone: + 32.65.37.34.97, fax: + 32.65.37.33.12 \ ) email: Philippe.Grosjean@umh.ac.be ) ) ) ) ) SciViews project coordinator (http://www.sciviews.org) ( ( ( ( ( ...................................................................
Achim Zeileis
2004-Apr-16 15:51 UTC
[Rd] barplot() does not draw bars correctly in R 1.9.0 (PR#6776)
On Fri, 16 Apr 2004 11:40:46 +0200 (CEST) phgrosjean@sciviews.org wrote:> Bars are not stacked, but superimposed. This happens even with the > first example of barplot: > > tN <- table(Ni <- rpois(100, lambda=5)) > r <- barplot(tN, col='gray')AFAICS, this problem occurs exactly for 1-way tables like above. If barplot(as.vector(tN), col = "gray") is used instead, everything is as it was in 1.8.1. The reason is that in the new version of barplot.default the following code (which remained unchanged) does not do anymore what do what one would want: if (is.vector(height)) { height <- cbind(height) beside <- TRUE } else if (is.array(height) && (length(dim(height)) == 1)) { height <- rbind(height) beside <- TRUE } that is, vectors and 1-way tables are treated differently which lead to the problem. Using cbind() instead of rbind() in the second half, overcomes this problem. However, the colors are then chosen in the same way as for vectors, resulting in different colors than in R 1.8.1. Maybe the default color choice should then be modified as well. Z> --please do not edit the information below-- > > Version: > platform = i386-pc-mingw32 > arch = i386 > os = mingw32 > system = i386, mingw32 > status > major = 1 > minor = 9.0 > year = 2004 > month = 04 > day = 12 > language = R > > Windows XP Professional (build 2600) Service Pack 1.0 > > Search Path: > .GlobalEnv, package:methods, package:stats, package:graphics, > package:utils, Autoloads, package:base > > .......................................................<?}))><.... > ) ) ) ) ) > ( ( ( ( ( Prof. Philippe Grosjean > \ ___ ) > \/ECO\ ( Numerical Ecology of Aquatic Systems > /\___/ ) Mons-Hainaut University, Pentagone > / ___ /( 8, Av. du Champ de Mars, 7000 Mons, Belgium > /NUM\/ ) > \___/\ ( phone: + 32.65.37.34.97, fax: + 32.65.37.33.12 > \ ) email: Philippe.Grosjean@umh.ac.be > ) ) ) ) ) SciViews project coordinator (http://www.sciviews.org) > ( ( ( ( ( > ................................................................... > > ______________________________________________ > R-devel@stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel >
dmurdoch@pair.com
2004-Apr-16 15:59 UTC
[Rd] barplot() does not draw bars correctly in R 1.9.0 (PR#6776)
On Fri, 16 Apr 2004 15:44:52 +0200, Achim Zeileis <Achim.Zeileis@wu-wien.ac.at> wrote :>On Fri, 16 Apr 2004 11:40:46 +0200 (CEST) phgrosjean@sciviews.org wrote: > >> Bars are not stacked, but superimposed. This happens even with the >> first example of barplot: >> >> tN <- table(Ni <- rpois(100, lambda=5)) >> r <- barplot(tN, col='gray') > >AFAICS, this problem occurs exactly for 1-way tables like above. If > >barplot(as.vector(tN), col = "gray") > >is used instead, everything is as it was in 1.8.1. The reason is that in >the new version of barplot.default the following code (which >remained unchanged) does not do anymore what do what one would want: > > if (is.vector(height)) { > height <- cbind(height) > beside <- TRUE > } > else if (is.array(height) && (length(dim(height)) == 1)) { > height <- rbind(height) > beside <- TRUE > } > >that is, vectors and 1-way tables are treated differently which lead to >the problem. Using cbind() instead of rbind() in the second half, >overcomes this problem. >However, the colors are then chosen in the same way as for vectors, >resulting in different colors than in R 1.8.1. Maybe the default color >choice should then be modified as well.I'm pretty sure the problem is due to this change, a few lines below the ones you listed: 1.8.1: width <- rep(width, length.out = NR * NC) 1.9.0: width <- rep(width, length.out = NR) This change was made at the same time as the offset arg was introduced; is it intentional? Duncan Murdoch