ggplot2

Customizing axes, titles, and legends

Introduction#

In this topic, we’ll look to explain how to Customise axes, titles and legends whilst using the ggplot2 library.

Change legend title and increase keysize

# load the library
library(ggplot2)

# create a blank canvas
g <- ggplot(data = diamonds)

g + geom_bar(aes(x = cut, fill = cut)) + 
    scale_fill_discrete(guide = guide_legend(title = "CUT", 
                                             keywidth = 2, 
                                             keyheight = 2))

enter image description here

Compare frequencies across groups and remove legend title

g + geom_bar(aes(x = cut, fill = color), position = "fill") + 
    guides(fill = guide_legend(title = NULL))

enter image description here

Place overlapping objects next to each other and change colours of axes texts

g + geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge") +
    theme(axis.text = element_text(colour = "red", size = 12))

enter image description here

Fine tuning axes ticks, texts, and titles

 g + geom_histogram(aes(price, fill = cut), binwidth = 500) + 
    labs(x = "Price", y = "Number of diamonds", 
         title = "Distribution of prices \n across Cuts") + 
    theme(plot.title = element_text(colour = "red", face = "italic"),
        axis.title.x = element_text(face="bold", 
                                      colour="darkgreen", size = 12),
      axis.text.x  = element_text(angle = 45, vjust = 0.5, size = 12), 
      axis.title.y = element_text(face="bold", 
                                  colour="darkblue", size = 12),
      axis.text.y  = element_text(size = 12, colour = "brown"))

enter image description here


This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow