Skip to content

R Stacked Histogram

11 messages · Jason Rupert, Hadley Wickham, John Kane +1 more

#
On Fri, Jan 2, 2009 at 11:00 PM, Jason Rupert <jasonkrupert at yahoo.com> wrote:
Yes, but it's generally not a terribly good way to display your data,
as it is hard to read the values of all except the series on the
bottom.

install.packages("ggplot2")
library(ggplot2)
qplot(carat, data = diamonds, binwidth = 0.1)
qplot(carat, data = diamonds, binwidth = 0.1, fill = cut)
qplot(carat, data = diamonds, binwidth = 0.1, fill = color)
qplot(carat, data = diamonds, binwidth = 0.1, fill = clarity)

More examples at http://had.co.nz/ggplot2/geom_histogram.html

Hadley
#
Is this of any help?

http://www.cse.unsw.edu.au/~mike/myrlibrary/geneplotter/html/histStack.html
--- On Sat, 1/3/09, Jason Rupert <jasonkrupert at yahoo.com> wrote:

            
__________________________________________________________________
Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now at
http://ca.toolbar.yahoo.com.
1 day later
#
On Sun, Jan 4, 2009 at 6:51 PM, Jason Rupert <jasonkrupert at yahoo.com> wrote:
The best place to start is the qplot chapter of the ggplot2 book -
http://had.co.nz/ggplot2/book

Regards,

Hadley
1 day later
#
Dear Jason,

Have a look at scale_y_continuous() and scale_fill_discrete(). This might work (untested as your example is not reproducible with a (dummy) dataset).

qplot(Age, data = recerts_combined_values, binwidth = 5, fill = combined_values$Test.Type, main="Combined Age Histogram") + scale_x_continuous("Age, months") + scale_y_continuous("Counts") + scale_fill_discrete("Type of Tests")

HTH,

Thierry


----------------------------------------------------------------------------
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
Cel biometrie, methodologie en kwaliteitszorg / Section biometrics, methodology and quality assurance
Gaverstraat 4
9500 Geraardsbergen
Belgium 
tel. + 32 54/436 185
Thierry.Onkelinx at inbo.be 
www.inbo.be 

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

-----Oorspronkelijk bericht-----
Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Namens Jason Rupert
Verzonden: dinsdag 6 januari 2009 16:00
Aan: r-help at r-project.org
Onderwerp: Re: [R] R Stacked Histogram

Great advice.? I did a quick read and came up with the following:
?
qplot(Age, data = recerts_combined_values, binwidth = 5,
???????? fill = combined_values$Test.Type, 
???????? ylab="Counts", xlab="Age, months",?
???????? main="Combined Age Histogram", 
???????? legend.name = "Type of Tests")

Unfortunatley, here is a description of the results:
(1) the "main" title font size by default is too large and is clipped by the image (guess I need to figure out how to fix this), 
(2) ylab appears to fail - it does not replace the default "count" label - what should I do to fix this?
(3) like (2), neither using "legend.name" nor "legend.title" appears to replace/change the name of the legend title/name.? 
?
By any chance can you provide some advice for tackeling these items?? These are probably due to me being a noobie on the ggplot2 package.? 
?
Thanks again.
?
--- On Mon, 1/5/09, hadley wickham <h.wickham at gmail.com> wrote:
From: hadley wickham <h.wickham at gmail.com>
Subject: Re: [R] R Stacked Histogram
To: jasonkrupert at yahoo.com
Cc: r-help at r-project.org
Date: Monday, January 5, 2009, 7:42 AM

On Sun, Jan 4, 2009 at 6:51 PM, Jason Rupert <jasonkrupert at yahoo.com>
wrote:
"qplot".
The best place to start is the qplot chapter of the ggplot2 book -
http://had.co.nz/ggplot2/book

Regards,

Hadley
#
On Wed, Jan 7, 2009 at 7:55 AM, Jason Rupert <jasonkrupert at yahoo.com> wrote:
If you're using ggsave, you don't need to use the dev functions.  The
following should be sufficient:

qplot(rnorm_test_data, geom = "histogram", binwidth = 1) +
         scale_x_continuous("Test Data") + scale_y_continuous("Frequency") +
         scale_fill_discrete("qplot histogram")
ggsave(file = "ggsave_qplot_output.pdf")

# Unfortunately due to a small bug in the current version of ggplot,
you need to use
# jpeg with an e to get jpegs
ggsave(file = "ggsave_qplot_output.jpeg")

# But I'd recommend using png instead - much better quality
ggsave(file = "ggsave_qplot_output.png")

# One final problem is that you're going to overwrite the plot
# on each run of your loop.  You probably want something like:

ggsave(file = paste("ggsave_qplot_output_", i, ".png", sep =""))

Hadley
1 day later
#
Here's a cute illustration of why I prefer png to jpeg:
http://lbrandy.com/blog/2008/10/my-first-and-last-webcomic/

Hadley