Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Two lines of X axis labels in ggplot

Tags:

r

label

ggplot2

I want to make two lines of X axis labels in ggplot.

enter image description here

In this plot, I want to add one more line of label below each specified year. Something like

1990 1995 2000 2005 2010 cold warm warm cold warm

This is my code for making this plot

ggplot(subset(dat, countryid %in% c("1")),  aes(date, 
nonpartisan))+geom_line(aes(color=countryid), color="dodgerblue1", 
size=1.4)+geom_line(aes(date, reshuffle), color="gray")+ theme_bw()

Is there any way to make one more line of label by creating a column specifically for the labels?

Thanks!

like image 361
user3077008 Avatar asked Dec 15 '22 18:12

user3077008


1 Answers

You can just add custom labels via scale_x_continuous (or scale_x_date, if it is actually in Date format).

ggplot(subset(dat, countryid %in% c("1")),  aes(date, nonpartisan)) +
  geom_line(aes(color=countryid), color="dodgerblue1", size=1.4) +
  geom_line(aes(date, reshuffle), color="gray") + 
  theme_bw() +
  scale_x_continuous(name = 'date', 
                     breaks = c('1990', '1995', '2000', '2005', '2010'), 
                     labels = c('1990\ncold', '1995\nwarm', '2000\nwarm', '2005\ncold', '2010\nwarm'))
like image 190
shadow Avatar answered Jan 07 '23 05:01

shadow