2014-12-11 4 views
2

Я хочу сделать две строки меток оси X в ggplot.Две строки меток оси X в ggplot

enter image description here

На этом графике, я хочу добавить еще одну строку ниже этикетке каждого указанного года. Что-то вроде

1990 1995 2000 2005 2010 cold warm warm cold warm

Это мой код делает этот участок

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() 

Есть ли способ, чтобы сделать еще одну линию этикетки, создав колонки специально для этикеток?

Спасибо!

+0

возможно дубликат [многорядные оси х меток в линейной диаграмме ggplot] (http://stackoverflow.com/questions/20571306/multi-row-x-axis-labels-in-ggplot-line -chart) – Henrik

ответ

7

Вы можете добавить пользовательские ярлыки через scale_x_continuous (или scale_x_date, если это действительно в формате Date).

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')) 
+0

Спасибо! Это прекрасно работает. Я только изменил ваш код с «scale_x_continuous» на «scale_x_date». Небольшие изменения для перерывов. – user3077008

+0

@ user3077008 Не могли бы вы опубликовать полученный код? благодаря – xhie

Смежные вопросы