[R] pyramid.plot in plotrix, axis labelling

2012-04-12 Thread Gavin Rudge
Hi, I've been looking at ways to make pyramid plots in R.  I like the 
pyramid.plot method in plotrix as it seems the simplest to use and building 
them in ggplot looks a bit more code intensive than I'd like, being as I'm new 
to R.  This package does pretty much what I need it to do, however I can't seem 
to scale the x axis labels.  The other labels scale fine with labelcex.

I guess the preferred method is to remove them and re-build them as you might 
in the base package, but I have no idea how to refer to them as there are two 
of them.

I have enclosed some sample data lifted from another example.  I've scaled down 
the other labels using labelcex whch leaves the disparity in sizes that I'm 
trying to remove.  I'd like something like this but with the x axis lables the 
same size as the y.


 mpop=c(50,75,80,100,110,90,85,60,40,20)
 fpop=c(50,75,80,100,110,90,85,60,50,30)
 coh=c(0-9,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-99)
 pyramid.plot(mpop,fpop,labels=coh,gap=15,labelcex=0.7,top.labels=c(males,age
  group,females),lxcol=red,rxcol=blue, 
 laxlab=c(0,50,100,150),raxlab=c(0,50,100,150))



Any suggestions gratefully recieved.



Gavin.

__
R-help@r-project.org mailing list
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.


Re: [R] pyramid.plot in plotrix, axis labelling

2012-04-12 Thread Richard M. Heiberger
Gavin,

Thank you for this example.  I would use the as.pyramidLikert function in
the HH package.
The resulting plot is a standard lattice plot, so any fine tuning uses that
standard lattice features.

Rich


 ## install.packages(HH)  ## if necessary
 library(HH)
 mydata - cbind(mpop,fpop)[10:1,]
 dimnames(mydata) - list(coh, c(males,females))
 mydata
  males females
0-9  20  30
10-1940  50
20-2960  60
30-3985  85
40-4990  90
50-59   110 110
60-69   100 100
70-7980  80
80-8975  75
90-9950  50
 as.pyramidLikert(plot.likert(mydata))
 print(as.pyramidLikert(plot.likert(mydata)), panel.width=.45)
 update(as.pyramidLikert(plot.likert(mydata)), scales=list(cex=2))
 print(update(as.pyramidLikert(plot.likert(mydata)), scales=list(cex=2)),
panel.width=.42)

 packageVersion(HH)
[1] ‘2.2.23’

-- Forwarded message --
From: Gavin Rudge g.ru...@bham.ac.uk
Date: Thu, Apr 12, 2012 at 7:55 AM
Subject: [R] pyramid.plot in plotrix, axis labelling
To: r-help@r-project.org r-help@r-project.org


Hi, I've been looking at ways to make pyramid plots in R.  I like the
pyramid.plot method in plotrix as it seems the simplest to use and building
them in ggplot looks a bit more code intensive than I'd like, being as I'm
new to R.  This package does pretty much what I need it to do, however I
can't seem to scale the x axis labels.  The other labels scale fine with
labelcex.

I guess the preferred method is to remove them and re-build them as you
might in the base package, but I have no idea how to refer to them as there
are two of them.

I have enclosed some sample data lifted from another example.  I've scaled
down the other labels using labelcex whch leaves the disparity in sizes
that I'm trying to remove.  I'd like something like this but with the x
axis lables the same size as the y.


 mpop=c(50,75,80,100,110,90,85,60,40,20)
 fpop=c(50,75,80,100,110,90,85,60,50,30)

coh=c(0-9,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-99)

pyramid.plot(mpop,fpop,labels=coh,gap=15,labelcex=0.7,top.labels=c(males,age
group,females),lxcol=red,rxcol=blue,
laxlab=c(0,50,100,150),raxlab=c(0,50,100,150))



Any suggestions gratefully recieved.



Gavin.

__
R-help@r-project.org mailing list
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
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.


Re: [R] pyramid.plot in plotrix, axis labelling

2012-04-12 Thread Jim Lemon

On 04/12/2012 09:55 PM, Gavin Rudge wrote:

Hi, I've been looking at ways to make pyramid plots in R.  I like the 
pyramid.plot method in plotrix as it seems the simplest to use and building 
them in ggplot looks a bit more code intensive than I'd like, being as I'm new 
to R.  This package does pretty much what I need it to do, however I can't seem 
to scale the x axis labels.  The other labels scale fine with labelcex.

I guess the preferred method is to remove them and re-build them as you might 
in the base package, but I have no idea how to refer to them as there are two 
of them.

I have enclosed some sample data lifted from another example.  I've scaled down 
the other labels using labelcex whch leaves the disparity in sizes that I'm 
trying to remove.  I'd like something like this but with the x axis lables the 
same size as the y.



mpop=c(50,75,80,100,110,90,85,60,40,20)
fpop=c(50,75,80,100,110,90,85,60,50,30)
coh=c(0-9,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-99)
pyramid.plot(mpop,fpop,labels=coh,gap=15,labelcex=0.7,top.labels=c(males,age 
group,females),lxcol=red,rxcol=blue, laxlab=c(0,50,100,150),raxlab=c(0,50,100,150))




Hi Gavin,
Just change line 23 in the function from:

par(mar=ppmar)

to:

par(mar=ppmar,cex.axis=labelcex)

This will be in the next version of plotrix. Thanks for the heads-up.

Jim

__
R-help@r-project.org mailing list
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.