It appears I broke ggplot in my script, but that maybe it is because the caffeine has worn off or maybe it is late in the day. I thought I was beginning to understand ggplot, but I have encountered a silly little issue. For some reason the following does not produce a histogram with fill due to the Person's characteristics: (Note that VADeaths_flat_df$Data works fine...) VADeaths_df<-data.frame(VADeaths) VADeaths_flat_tmp1<-data.frame(Data=as.numeric(as.character(VADeaths_df$Rural.Male)), Person="Rural.Male") VADeaths_flat_tmp2<-data.frame(Data=as.numeric(as.character(VADeaths_df$Rural.Female)), Person="Rural.Female") VADeaths_flat_tmp3<-data.frame(Data=as.numeric(as.character(VADeaths_df$Urban.Male)), Person="Urban.Male") VADeaths_flat_tmp4<-data.frame(Data=as.numeric(as.character(VADeaths_df$Urban.Female)), Person="Urban.Female") VADeaths_flat_df<-rbind(VADeaths_flat_tmp1, VADeaths_flat_tmp2) VADeaths_flat_df<-rbind(VADeaths_flat_df, VADeaths_flat_tmp3) VADeaths_flat_df<-rbind(VADeaths_flat_df, VADeaths_flat_tmp4) bin_size<-15.0 ggplot(VADeaths_flat_df, aes(x = factor(Data), fill = factor(Person))) + geom_bar(position=position_dodge(width =(20)), binwidth=20) # or ggplot(VADeaths_flat_df, aes(x=factor(Data))) + geom_histogram(binwidth=20) Thanks again for any feedback you provide. [[alternative HTML version deleted]]
On Mon, Feb 2, 2009 at 5:41 PM, Jason Rupert <jasonkrupert at yahoo.com> wrote:> It appears I broke ggplot in my script, but that maybe it is because the caffeine has worn off or maybe it is late in the day. I thought I was beginning to understand ggplot, but I have encountered a silly little issue. > > For some reason the following does not produce a histogram with fill due to the Person's characteristics: > (Note that VADeaths_flat_df$Data works fine...) > > > VADeaths_df<-data.frame(VADeaths)... You can do this a bit more easily with: VADeaths_flat_df <- melt(VADeaths) names(VADeaths_flat_df) <- c("Age", "Person", "Data")> bin_size<-15.0 > ggplot(VADeaths_flat_df, aes(x = factor(Data), fill = factor(Person))) + geom_bar(position=position_dodge(width =(20)), binwidth=20) > # or > ggplot(VADeaths_flat_df, aes(x=factor(Data))) + geom_histogram(binwidth=20)Those plots look fine to me (well they're what I'd expect from the definition), but I'd think you'd want ggplot(VADeaths_flat_df, aes(Data, fill = Person)) + geom_histogram(binwidth=20) or maybe ggplot(VADeaths_flat_df, aes(Person, weight = Data)) + geom_bar() ggplot(VADeaths_flat_df, aes(Person, weight = Data, fill = Age)) + geom_bar() Hadley -- http://had.co.nz/