> Unfortunately, that doesn't work. The axis automatically scales to (-30, > 25, by 5).
Your data do not extend to ±35 so the axis limits you have asked axis() for are outside the plot region. it is plot() that is (correctly) defaulting to the data range. if you want to override that to get a larger plot range, specify the y limits for the plot as part of the plot command: plot(c(0,5),range(df$Percent),type = "n", axes=FALSE, ann=F, ylim=c(-35, 35)) 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) #Axes now run to ±35 S Ellison > > Jen > > > > On Wed, Mar 15, 2017, 10:09 PM Jim Lemon <drjimle...@gmail.com> > wrote: > > > 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. > > > > [[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. ******************************************************************* This email and any attachments are confidential. Any use...{{dropped:8}} ______________________________________________ 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.