How to plot histogram/ frequency-count of a vector

2019-01-28 05:11发布

问题:

I want to plot with ggplot the frequency of values from a numeric vector. With plot() is quite straight forward but I can't get the same result with ggplot.

library(ggplot2)    
dice_results <- c(1,3,2,4,5,6,5,3,2,1,6,2,6,5,6,4)    
hist(dice_results)

ggplot(dice_results) + geom_bar()
# Error: ggplot2 doesn't know how to deal with data of class numeric

Should I create a dataframe for ggplot() to plot my vector?

回答1:

Please look at the help page ?geom_histogram. From the first example you may find that this works.

qplot(as.factor(dice_results), geom="histogram")

Also look at ?ggplot. You will find that the data has to be a data.frame



回答2:

Try the code below

library(ggplot2)    
dice_results <- c(1,3,2,4,5,6,5,3,2,1,6,2,6,5,6,4,1,3,2,4,6,4,1,6,3,2,4,3,4,5,6,7,1)
ggplot() + aes(dice_results)+ geom_histogram(binwidth=1, colour="black", fill="white")