Use plot(NA, xlim=c(0, 5), ylim=c(-35, 35), type="n", axes=FALSE, ann=FALSE)
to set up the length of the y axis instead of your first plot command. ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Jim Lemon Sent: Wednesday, March 15, 2017 9:09 PM To: Jen <plessthanpointohf...@gmail.com> Cc: r-help mailing list <r-help@r-project.org> Subject: Re: [R] force axis to extend Hi Jen, It seems way too simple, but does this work? axis(side=2,at=seq(-35,35,by=5),cex.axis=0.7) You may want to consider using a pyramid plot for this. Jim On Thu, Mar 16, 2017 at 11:45 AM, Jen <plessthanpointohf...@gmail.com> wrote: > Hi, I'm creating a couple of mirrored bar plots. Below is data and code > for one. > > My problem is that I need the axis to go from -35 to 35 by 5. I can't get > that to happen with the code below. I need it so all my plots are on the > same scale. > > How can I do that using barplot? For reasons, I can't use ggplot or > lattice. > > Thanks, > > Jen > > > > df <- data.frame(matrix(c( > '18-29', 'Females', 23.221039, > '30-44', 'Females', 16.665565, > '45-59', 'Females', 7.173238, > '60+', 'Females', 4.275979, > '18-29', 'Males', -22.008875, > '30-44', 'Males', -15.592936, > '45-59', 'Males', -7.312195, > '60+', 'Males', -3.750173), > nrow=8, ncol=3, byrow=T, > dimnames=list(NULL, c("Age", "Sex", "Percent")))) > > df$Percent <- as.numeric(as.character(df$Percent)) > > midf <- barplot(height = df$Percent[df$Sex == "Females"]) > > # distribution of men and women with solid fill > > plot(c(0,5),range(df$Percent),type = "n", axes=FALSE, ann=F) > > barplot(height = df$Percent[df$Sex == "Females"], add = TRUE,axes = FALSE, > col="#b498ec", ylab="") > > barplot(height = df$Percent[df$Sex == "Males"], add = TRUE, axes = F, > col="#f8bb85", ylab="", > names.arg=c("18-29", "30-44", "45-59", "60+")) > > axis(side=2, at = seq(-35,35,by=5), > labels=format(abs(seq(-35,35,by=5)), scientific=F), > cex.axis=0.7) > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.