26

I'd like to feed geom_histogram the number of bins for my histogram instead of controlling bins through binwidth. The documentation says I can do this by setting the bins argument. But when I run

ggplot(data = iris, aes(x = Sepal.Length)) + stat_bin(bins = 5)

I get an output message with 30 bins, as if I didn't specify binwidth at all.

stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this.

I've tried feeding this argument to stat_bin and qplot with the same problem. Am I doing something wrong?

I'm using ggplot2 version 1.0.1.

Empiromancer
  • 3,778
  • 1
  • 22
  • 53

1 Answers1

50

Just pass bins=x directly

library(ggplot2)
df <- data.frame(a = rnorm(10000))

ggplot(df, aes(x=a)) + geom_histogram()

Produces this (with warning "stat_bin() using bins = 30. Pick better value with binwidth."):

enter image description here

And this:

ggplot(df, aes(x=a)) + geom_histogram(bins=10)

Produces:

enter image description here

Using ggplot2 version 2.0.0

arvi1000
  • 9,393
  • 2
  • 42
  • 52