[R] force axis to extend
Jen
plessthanpointohfive at gmail.com
Thu Mar 16 01:45:10 CET 2017
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]]
More information about the R-help
mailing list