2016-05-04 3 views
0

Оси x моего графа определяются следующим образом: Dmmggyyyy, где D - символ. Из-за того, что я работаю каждый год, когда я печатаю график, х-точные тексты не читаются. Можно использовать регулярные выражения и групповые данные от D01012015 до D02012015 etch. и назвать их январь, февраль ... Исходный код моего участка:Значения осей группы в ggplot2

df <- melt(data)  
pl <- ggplot(df, aes(time, price,group=factor(xxx))) + 
    geom_line(aes(color=factor(xxx)))+ 
    theme(axis.text.x element_blank()) 
+1

Пожалуйста, прочитайте информацию о [как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и как дать [воспроизводимый пример] (http://stackoverflow.com/ вопросы/5963269/как к Make-A-пра-р-воспроизводимая-пример/5963610). Это облегчит вам помощь другим людям. – Jaap

+0

Вы можете преобразовать эти строки в формат даты, например, с помощью 'strptime ('D01012015', format = 'D% d% m% Y')'. Если вы хотите только месяц, вы можете использовать: 'months (strptime ('D01012015', format = 'D% d% m% Y'))' – Jaap

ответ

0

Вы можете лишить «D», а затем преобразовать в дату. Мне нравится использовать lubridate.

install.packages('lubridate') 
library(lubridate) 

df$x <- gsub("D", "", df$x) 
df$x <- mdy(df$x) 

Оттуда вы можете получить месяцев,

df$months <- month(df$x) 
1

Вы можете преобразовать эти строки в дата-формате с, например strptime('D01012015', format = 'D%d%m%Y'):

[1] "2015-01-01 CET" 

Если вы хотите только месяц , вы можете использовать: months(strptime('D01012015', format = 'D%d%m%Y')):

[1] "januari" 
Смежные вопросы