The Doctor
The Doctor

Reputation: 27

Making a polar histogram in ggplot2

I am trying to make a polar histogram out of the code below, but the histogram looks pretty ugly after it is plotted.

My dataframe looks like this

> dist <-data.frame(dtPTT)
> head(dist)
 dtPTT
 1 64462.139
 2  9967.527
 3  2021.063
 4  1452.435
 5  1287.067
 6  1601.852

And this is the code I used

ggplot(dist, aes(x = dtPTT)) +
  geom_histogram(binwidth = 5) +
  scale_x_continuous(breaks = seq(0, 360, 60)) +
  coord_polar() +
  xlab(NULL)+ylab(NULL)

This is what I am getting after plotting the code above

This is what i am getting after plotting the code above

Upvotes: 1

Views: 2195

Answers (1)

Pdubbs
Pdubbs

Reputation: 1987

I think the culprit is your binwidth. Using the same syntax as you, but with iris, we get a "pretty" histogram:

ggplot(iris, aes(x = Sepal.Width)) +
  geom_histogram(binwidth = .1) +
  scale_x_continuous(breaks = seq(0, 360, 60)) +
  coord_polar() +
  xlab(NULL)+ylab(NULL)

enter image description here

given that in dist, dtPTT is 64462 in the first entry and the binwith from your histogram appears to go to 240k, I think ggplot is just getting overwhelmed by all the empty bins. Try starting with binwidth 1000 and experiment from there.

Upvotes: 3

Related Questions