White background ggplot2

White background ggplot2 DEFAULT

GGPlot Theme Background Color and Grids

This article shows how to change a ggplot theme backgroundcolor and grid lines.

The default theme of a ggplot2 graph has a grey background color. You can easily and quickly change this to a white background color by using the theme functions, such as , , or (See ggplot2 themes gallery).

Another alternative is to modify directly the arguments and in the function .

In this R graphics tutorial, you will learn how to:

  • Change a ggplot background color using a custom color, say lightblue.
  • Remove the default ggplot grey background and replace it with a blank background color.
  • Remove panel border and background grid lines (minor and major grids).
  • Create and save a ggplot with transparent background (i.e., a ggplot with no background).
  • Create a ggplot with dark / black background color.


Key gglot2 R functions

Key ggplot2 theme options to modify the plot panel and background:

Arguments of the helper functons:

  • . Modify grid lines color size and type.
  • . Modfify a rectangle element background fill, as well as, the border color, size and linetype.

To remove a particular panel grid, use for the corresponding theme argument. For example to remove the major grid lines for the x axis, use this: .

Create a basic ggplot

Change background color and grid lines

  1. Change the panel background color
  2. Change the plot background color

Remove panel border and background grid lines

R function to hide plot panel borders and gridlines: .

Remove grey background color

  • Solution 1: Use the theme functions to get rid of the grey background (@ref(ggplot-themes-gallery).

  • Solution 2: Create, step-by-step, a ggplot with white background:

Make a ggplot with transparent background

In this section you will learn how to make and save a ggplot with transparent background.

  • Solution 1: Use the function theme_transparent() [in ggpubr package]. First, install it with , then type this:

Transparent background color

  • Solution 2: Make a transparent background by starting from :

Create a ggplot with black background

Start by creating a simple scatter plot:

Use the dark theme function - :

Create a ggplot with a black background:


This article shows how to change a ggplot theme backgroundcolor and grid lines. The essentials are summarized below:

  • Create an example of ggplot:
  • Change ggplot background color:
    • use the standard ggplot2 themes (theme_classic(), theme_bw(), theme_minmal(), theme_light(), etc)
    • or, edit the theme function as follow.
  • Create a ggplot with transparent background. The easiest solution is to use the theme_transparent() function [in ggpubr]

Recommended for you

This section contains best data science and self-development resources to help you on your path.

Coursera - Online Courses and Specialization

Data science

Popular Courses Launched in 2020

Trending Courses

Amazon FBA

Amazing Selling Machine

Books - Data Science

Our Books


Version: Français

Sours: https://www.datanovia.com/en/blog/ggplot-theme-background-color-and-grids/



In this chapter you will learn how to use the ggplot2 theme system, which allows you to exercise fine control over the non-data elements of your plot. The theme system does not affect how the data is rendered by geoms, or how it is transformed by scales. Themes don’t change the perceptual properties of the plot, but they do help you make the plot aesthetically pleasing or match an existing style guide. Themes give you control over things like fonts, ticks, panel strips, and backgrounds.

This separation of control into data and non-data parts is quite different from base and lattice graphics. In base and lattice graphics, most functions take a large number of arguments that specify both data and non-data appearance, which makes the functions complicated and harder to learn. ggplot2 takes a different approach: when creating the plot you determine how the data is displayed, then after it has been created you can edit every detail of the rendering, using the theming system.

The theming system is composed of four main components:

  • Theme elements specify the non-data elements that you can control. For example, the element controls the appearance of the plot title; , the ticks on the x axis; , the height of the keys in the legend.

  • Each element is associated with an element function, which describes the visual properties of the element. For example, sets the font size, colour and face of text elements like .

  • The function which allows you to override the default theme elements by calling element functions, like .

  • Complete themes, like set all of the theme elements to values designed to work together harmoniously.

For example, imagine you’ve made the following plot of your data.

It’s served its purpose for you: you’ve learned that and are highly correlated, both are tightly coupled with , and that is always greater than (and the difference increases as increases). Now you want to share the plot with others, perhaps by publishing it in a paper. That requires some changes. First, you need to make sure the plot can stand alone by:

  • Improving the axes and legend labels.
  • Adding a title for the plot.
  • Tweaking the colour scale.

Fortunately you know how to do that already because you’ve read Section 8.1 and Chapter 11:

Next, you need to make sure the plot matches the style guidelines of your journal:

  • The background should be white, not pale grey.
  • The legend should be placed inside the plot if there’s room.
  • Major gridlines should be a pale grey and minor gridlines should be removed.
  • The plot title should be 12pt bold text.

In this chapter, you’ll learn how to use the theming system to make those changes, as shown below:

Finally, the journal wants the figure as a 600 dpi TIFF file. You’ll learn the fine details of in Section 18.5.

Complete themes

ggplot2 comes with a number of built in themes. The most important is , the signature ggplot2 theme with a light grey background and white gridlines. The theme is designed to put the data forward while supporting comparisons, following the advice of.44 We can still see the gridlines to aid in the judgement of position,45 but they have little visual impact and we can easily ‘tune’ them out. The grey background gives the plot a similar typographic colour to the text, ensuring that the graphics fit in with the flow of a document without jumping out with a bright white background. Finally, the grey background creates a continuous field of colour which ensures that the plot is perceived as a single visual entity.

There are seven other themes built in to ggplot2 1.1.0:

All themes have a parameter which controls the base font size. The base font size is the size that the axis titles use: the plot title is usually bigger (1.2x), and the tick and strip labels are smaller (0.8x). If you want to control these sizes separately, you’ll need to modify the individual elements as described below.

As well as applying themes a plot at a time, you can change the default theme with . For example, if you really hate the default grey background, run to use a white background for all plots.

You’re not limited to the themes built-in to ggplot2. Other packages, like ggthemes by Jeffrey Arnold, add even more. Here are a few of my favourites from ggthemes:

The complete themes are a great place to start but don’t give you a lot of control. To modify individual elements, you need to use to override the default setting for an element with an element function.


  1. Try out all the themes in ggthemes. Which do you like the best?

  2. What aspects of the default theme do you like? What don’t you like?
    What would you change?

  3. Look at the plots in your favourite scientific journal. What theme do they most resemble? What are the main differences?

Modifying theme components

To modify an individual theme component you use code like . In this section you’ll learn about the basic element functions, and then in the next section, you’ll see all the elements that you can modify.

There are four basic types of built-in element functions: text, lines, rectangles, and blank. Each element function has a set of parameters that control the appearance:

  • draws labels and headings. You can control the font , , , (in points), , , (in degrees) and (as ratio of ). More details on the parameters can be found in . Setting the font face is particularly challenging.

    You can control the margins around the text with the argument and function. has four arguments: the amount of space (in points) to add to the top, right, bottom and left sides of the text. Any elements not specified default to 0.

  • draws lines parameterised by , and :

  • draws rectangles, mostly used for backgrounds, parameterised by colour and border , and .

  • draws nothing. Use this if you don’t want anything drawn, and no space allocated for that element. The following example uses to progressively suppress the appearance of elements we’re not interested in. Notice how the plot automatically reclaims the space previously used by these elements: if you don’t want this to happen (perhaps because they need to line up with other plots on the page), use to create invisible elements that still take up space.

  • A few other settings take grid units. Create them with or .

To modify theme elements for all future plots, use . It returns the previous theme settings, so you can easily restore the original parameters once you’re done.

Theme elements

There are around 40 unique elements that control the appearance of the plot. They can be roughly grouped into five categories: plot, axis, legend, panel and facet. The following sections describe each in turn.

Plot elements

Some elements affect the plot as a whole:

draws a rectangle that underlies everything else on the plot. By default, ggplot2 uses a white background which ensures that the plot is usable wherever it might end up (e.g. even if you save as a png and put on a slide with a black background). When exporting plots to use in other systems, you might want to make the background transparent with . Similarly, if you’re embedding a plot in a system that already has margins you might want to eliminate the built-in margins. Note that a small margin is still necessary if you want to draw a border around the plot.

Axis elements

The axis elements control the appearance of the axes:

Note that (and ) comes in three forms: , , and . Use the first form if you want to modify the properties of both axes at once: any properties that you don’t explicitly set in and will be inherited from .

The most common adjustment is to rotate the x-axis labels to avoid long overlapping labels. If you do this, note negative angles tend to look best and you should set and :

Legend elements

The legend elements control the apperance of all legends. You can also modify the appearance of individual legends by modifying the same elements in or .

legend.backgroundlegend background
legend.keybackground of legend keys
legend.key.sizelegend key size
legend.key.heightlegend key height
legend.key.widthlegend key width
legend.marginlegend margin
legend.textlegend labels
legend.text.align0–1legend label alignment (0 = right, 1 = left)
legend.titlelegend name
legend.title.align0–1legend name alignment (0 = right, 1 = left)

These options are illustrated below:

There are four other properties that control how legends are laid out in the context of the plot (, , , ). They are described in Section 11.6.1.

Panel elements

Panel elements control the appearance of the plotting panels:

The main difference between and is that the background is drawn underneath the data, and the border is drawn on top of it. For that reason, you’ll always need to assign when overriding .

Note that aspect ratio controls the aspect ratio of the panel, not the overall plot:

Faceting elements

The following theme elements are associated with faceted ggplots:

Element affects both or ; only affects .


  1. Create the ugliest plot possible! (Contributed by Andrew D. Steen, University of Tennessee - Knoxville)

  2. makes the inside of the plot dark, but not the outside. Change the plot background to black, and then update the text settings so you can still read the labels.

  3. Make an elegant theme that uses “linen” as the background colour and a serif font for the text.

  4. Systematically explore the effects of when you have a multiline title. Why doesn’t do anything?

Saving your output

When saving a plot to use in another program, you have two basic choices of output: raster or vector:

  • Vector graphics describe a plot as sequence of operations: draw a line from \((x_1, y_1)\) to \((x_2, y_2)\), draw a circle at \((x_3, x_4)\) with radius \(r\). This means that they are effectively ‘infinitely’ zoomable; there is no loss of detail. The most useful vector graphic formats are pdf and svg.

  • Raster graphics are stored as an array of pixel colours and have a fixed optimal viewing size. The most useful raster graphic format is png.

Figure 18.1 illustrates the basic differences in these formats for a circle. A good description is available at http://tinyurl.com/rstrvctr.

The schematic difference between raster (left) and vector (right) graphics.

Figure 18.1: The schematic difference between raster (left) and vector (right) graphics.

Unless there is a compelling reason not to, use vector graphics: they look better in more places. There are two main reasons to use raster graphics:

  • You have a plot (e.g. a scatterplot) with thousands of graphical objects (i.e. points). A vector version will be large and slow to render.

  • You want to embed the graphic in MS Office. MS has poor support for vector graphics (except for their own DrawingXML format which is not currently easy to make from R), so raster graphics are easier.

There are two ways to save output from ggplot2. You can use the standard R approach where you open a graphics device, generate the plot, then close the device:

This works for all packages, but is verbose. ggplot2 provides a convenient shorthand with :

is optimised for interactive use: you can use it after you’ve drawn a plot. It has the following important arguments:

  • The first argument, , specifies the path where the image should be saved. The file extension will be used to automatically select the correct graphics device. can produce , , , , , , , and .

  • and control the output size, specified in inches. If left blank, they’ll use the size of the on-screen graphics device.

  • For raster graphics (i.e. , ), the argument controls the resolution of the plot. It defaults to 300, which is appropriate for most printers, but you may want to use 600 for particularly high-resolution output, or 96 for on-screen (e.g., web) display.

See for more details.

Sours: https://ggplot2-book.org/polishing.html
  1. Eagle pointe apts
  2. Funny dog gifs
  3. Baldor 56c frame motor

[This article was first published on Methods – finnstats, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

When you change the background colors in ggplot, it will be more visually pleasing and attract more attention than the default ones.

p + theme(panel.background = element_rect(fill = 'white', color = 'blue'), panel.grid.major = element_line(color = 'green', linetype = 'dotted'), panel.grid.minor = element_line(color = 'green', size = 2))

Here are a few of the most popular themes, based on the below themes can automatically change the background colors.

How to Overlay Plots in R-Quick Guide with Example » finnstats

p + theme_bw() #white background and grey gridlines p + theme_minimal() #no background annotations p + theme_classic() #axis lines but no gridlines p + theme_linedraw() #black lines around the plot p + theme_light() # light gray lines and axis (more attention towards the data) p + theme_void() #Empty theme p + theme_dark() #Dark background designed to make colours pop out

Approach 1: Change Background Color in ggplot2

Let’s start by loading the package and visualizing the ToothGrowth dataset.

library(ggplot2) ToothGrowth$dose <- as.factor(ToothGrowth$dose) head(ToothGrowth) len supp dose 1 4.2 VC 0.5 2 11.5 VC 0.5 3 7.3 VC 0.5 4 5.8 VC 0.5 5 6.4 VC 0.5 6 10.0 VC 0.5 p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot() p

The following code can be used to alter the panel’s background color as well as the major and minor gridlines:

How to Plot Categorical Data in R-Quick Guide »

p + theme(panel.background = element_rect(fill = 'white', color = 'blue'), panel.grid.major = element_line(color = 'green', linetype = 'dotted'), panel.grid.minor = element_line(color = 'green', size = 2))

Approach 2: Change background colors based on Built-in Themes

The following code demonstrates how to use multiple built-in ggplot2 themes to change the background color of plots automatically.

Plot Differences in Two Measurements-Bland-Altman Plot in R »

p + theme_bw() #white background and grey gridlinesp + theme_minimal() #no background annotationsp + theme_classic() #axis lines but no gridlinesp + theme_linedraw() #black lines around the plot

Plot Differences in Two Measurements-Bland-Altman Plot in R »

p + theme_light() # light gray lines and axis (more attention towards the data)p + theme_void() #Empty themep + theme_dark() #Dark background designed to make colours pop out

The following R code shows how to change the background and grid lines of the plot panel

Dot Plots in R-Strip Charts for Small Sample Size »

p + theme( panel.background = element_rect(fill = "lightcyan",                                   colour = "lightcyan",   panel.grid.major = element_line(size = 0.5, linetype = 'solid',                                   colour = "white"),   panel.grid.minor = element_line(size = 0.25, linetype = 'solid',                                   colour = "white"))p + theme(plot.background = element_rect(fill = "lightpink")) #Change the plot background-color

Adding text labels to ggplot2 Bar Chart »

The post How to Change Background Color in ggplot2 appeared first on finnstats.


Sours: https://www.r-bloggers.com/2021/09/how-to-change-background-color-in-ggplot2/
Customize Bar plot in R -GGplot2- in 5 steps : Beautiful publication ready bar plot

Default plot

By default, ggplot2 plots have a gray panel and a white background.

Default background color in ggplot2

Panel background color

You can change the panel background color setting an in the component of the function as follows.

Change the background panel color in ggplot2

Panel border color

Option 1

ggplot2 panel border color

The component of the function controls the color and width of the border of the panel with the and arguments. However, you will need to set to avoid hiding the data.

Option 2

Border color of the plot in ggplot2

You can also set a for the component and modify the border color with the argument. However, this is not the recommended workflow, as it doesn’t override the current border. You can check this with (Note that the black border is behind the blue border).

Plot background color

The component of the function allows modifying the background color of the figure. Set the color inside the argument of an .

Plot background color in ggplot2

Plot border color

Plot border color in ggplot

You can also set a border color for the whole figure. Just pass an to the component of the function and modify the color and the width of the border with the arguments and , respectively.

Changing the colors with themes

It is worth mentioning that there are lots of ggplot themes available that provide different background colors.

In this example we are setting the , which is one of the in-built ggplot2 themes.

Note that the default theme is .

Change the color of a plot with a ggplot theme

Color picker

Sours: https://r-charts.com/ggplot2/background-color/

Ggplot2 white background

Remove grid and background from plot (ggplot2)

| category RStudy  | tag ggplot2 

Generate data

basic plot

plot of chunk ggplot-2-1

theme_bw() will get rid of the background

plot of chunk ggplot-2-2

remove grid (does not remove backgroud colour and border lines)

plot of chunk ggplot-2-3

remove border lines (does not remove backgroud colour and grid lines)

plot of chunk ggplot-2-4

remove background (remove backgroud colour and border lines, but does not remove grid lines)

plot of chunk ggplot-2-5

add axis line

plot of chunk ggplot-2-6

put all together - method 1

plot of chunk ggplot-2-8

put all together - method 2

plot of chunk ggplot-2-9

Further reading

remove grid, background color and top and right borders from ggplot2

Previous     Next
Sours: https://felixfan.github.io/ggplot2-remove-grid-background-margin/
Intro to the Tidyverse

Background manipulation with R and ggplot2

Let’s start with a very basic scatterplot. By default, offers a grey background with white major and minor gridlines.

It is possible to change that thanks to the function. Keep reading to learn how!

Two options of the functions are available to control the map background color. controls the color of the whole chart. controls the part between the axis.

Both are rectangles, their features is thus specified through an function.

Two main types of grid exist with : major and minor. They are controled thanks to the and options.

Once more, you can add the options or at the end of the function name to control one orientation only.

Features are wrapped in an function. Specifying will simply removing the grid.

Related chart types

Grouped and Stacked barplot



Pie chart


Circular packing

Sours: https://www.r-graph-gallery.com/240-custom-layout-background-ggplot2.html

You will also be interested:

How do I change the background color of a plot made with ggplot2

To avoid deprecated and use:

To define your own custom theme, based on theme_gray but with some of your changes and a few added extras including control of gridline colour/size (more options available to play with at ggplot2.org):

To make your custom theme the default when ggplot is called in future, without masking:

If you want to change an element of the currently set theme:

To store the current default theme as an object:

Note that is a list whereas was a function. So to return the theme to theme_jack use whereas to return to theme_pink use .

You can replace by in the definition of if you prefer. For your custom theme to resemble but with all gridlines (x, y, major and minor) turned off:

Finally a more radical theme useful when plotting choropleths or other maps in ggplot, based on discussion here but updated to avoid deprecation. The aim here is to remove the gray background, and any other features that might distract from the map.

Sours: https://stackoverflow.com/questions/6736378/how-do-i-change-the-background-color-of-a-plot-made-with-ggplot2

1065 1066 1067 1068 1069