[R] force axis to extend
David L Carlson
dcarlson at tamu.edu
Thu Mar 16 14:28:17 CET 2017
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
> PLEASE do read the posting guide 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
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list