Bolle
Bolle

Reputation: 322

Force the origin to start at 0 without margin between data and x axis in new ggplot theme

Based on this question Force the origin to start at 0 I want to implement this into a new created theme and not just as a default setting.

data(iris)
ggplot(iris, aes(x = Species)) + 
  geom_bar() +
  scale_y_continuous(expand = expansion(mult = c(0, 0.05)))

How can I do this without defining it every single plot?

requested result

Upvotes: 4

Views: 861

Answers (1)

stefan
stefan

Reputation: 123818

As far as I know this not possible via theme(). But you can define a wrapper around scale_y_continuous like so

library(ggplot2)

data(iris)

scale_y_origin <- function(...) {
  scale_y_continuous(expand = expansion(mult = c(0, 0.05)), ...)
}

ggplot(iris, aes(x = Species)) + 
  geom_bar() +
  scale_y_origin()

Upvotes: 3

Related Questions