Agnieszka
Agnieszka

Reputation: 131

Hole in Bullseye in ggplot2

I have prepared bullseye chart using ggplot. But I get a hole. How to remove it and get whole one?

enter image description here

critters <- structure(list( a = 15, b = 47, c = 22, d=9, e=7), .Names = c("a", "b", "c", "d", "e"), row.names = c(NA, -1L), class = "data.frame")

d <- data.frame(test=factor(c(rep("a", critters$a),
                            rep("b", critters$b), 
                            rep("c", critters$c),
                            rep("d", critters$d),
                            rep("e", critters$e)),
                          levels = c("a", "b", "c", "d", "e"), ordered= TRUE))
levels(d$test) <- apply(data.frame(table(d$test)), 1, paste, collapse = ": ")

ggplot(d, aes(x = factor(1), fill = factor(test))) + geom_bar()+ coord_polar() + labs(x = NULL, fill = NULL) + scale_fill_manual(values = c("blue", "yellow", "green", "red", "magenta"))

Upvotes: 6

Views: 413

Answers (1)

Mhairi McNeill
Mhairi McNeill

Reputation: 1981

You need to set width = 1 in geom_bar.

ggplot(d, aes(x = factor(1), fill = factor(test))) +
  geom_bar(width = 1) +
  coord_polar() +
  labs(x = NULL, fill = NULL) +
  scale_fill_manual(values = c("blue", "yellow", "green", "red", "magenta"))

Upvotes: 5

Related Questions