# [R] force axis to extend

Jen plessthanpointohfive at gmail.com
Thu Mar 16 14:39:50 CET 2017

```Yay!  That worked!  Thanks so much!

Jen

On Thu, Mar 16, 2017, 9:28 AM David L Carlson <dcarlson at tamu.edu> wrote:

> 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-bounces at r-project.org] On Behalf Of Jim Lemon
> Sent: Wednesday, March 15, 2017 9:09 PM
> To: Jen <plessthanpointohfive at gmail.com>
> Cc: r-help mailing list <r-help at 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 <plessthanpointohfive at 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 at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help