Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ggplot2 theme with no axes or grid

Tags:

r

ggplot2

I am trying to make a plot with no information beyond the data. No axes; no grid; no title; just the plot.

But I keep getting extra margins and padding that I can't remove.

library(ggplot2) library(grid)  theme_bare <- theme(   axis.line = element_blank(),    axis.text.x = element_blank(),    axis.text.y = element_blank(),   axis.ticks = element_blank(),    axis.title.x = element_blank(),    axis.title.y = element_blank(),    #axis.ticks.length = unit(0, "lines"), # Error    axis.ticks.margin = unit(c(0,0,0,0), "lines"),    legend.position = "none",    panel.background = element_rect(fill = "gray"),    panel.border = element_blank(),    panel.grid.major = element_blank(),    panel.grid.minor = element_blank(),    panel.margin = unit(c(0,0,0,0), "lines"),    plot.background = element_rect(fill = "blue"),   plot.margin = unit(c(0,0,0,0), "lines") )  ggplot() +    geom_area (data=economics, aes(x = date, y = unemploy), linetype=0) +   theme_bare 

Produces this image: plot

What I want is this: plot ideal

I can't figure out how to get rid of the blue and make the dark gray flush with the edges.

Could any one offer some advice?

like image 682
sharoz Avatar asked Jan 14 '13 04:01

sharoz


People also ask

How do I get rid of the grid in R?

Assigning panel. background with element_blank() function will remove both grid and the background. Program: R.

What is the default ggplot theme?

As noted above, ggplot2 has a default theme, which is theme_gray() . This theme produces the familiar gray-background-white-grid-lines plot.

What is Theme_classic in R?

theme_classic() A classic-looking theme, with x and y axis lines and no gridlines. theme_void() A completely empty theme.

What is Theme_bw in R?

theme_bw: A theme with white background and black gridlines.


1 Answers

Here is the way to plot only the panel region:

p <- ggplot() + geom_area (data=economics, aes(x = date, y = unemploy), linetype=0) +   scale_x_date(expand = c(0,0)) + scale_y_continuous(expand = c(0,0)) +   theme(line = element_blank(),         text = element_blank(),         title = element_blank())  gt <- ggplot_gtable(ggplot_build(p)) ge <- subset(gt$layout, name == "panel")  grid.draw(gt[ge$t:ge$b, ge$l:ge$r]) 

enter image description here

like image 117
kohske Avatar answered Sep 23 '22 12:09

kohske