У меня есть этот набор данные:R ggplot слишком много лейбл
x timw y class
1 2010-04-01 00:00:00 843.2 normal
2 2010-04-01 00:01:00 846.3 normal
3 2010-04-01 00:02:00 838.6 normal
4 2010-04-01 00:03:00 839.9 normal
5 2010-04-01 00:04:00 841.0 normal
6 2010-04-01 00:05:00 843.3 normal
7 2010-04-01 00:06:00 844.2 normal
8 2010-04-01 00:07:00 844.6 normal
9 2010-04-01 00:08:00 840.0 normal
10 2010-04-01 00:09:00 842.2 normal
Я использую ggplot для того, чтобы просмотреть данные:
ggplot(df, aes(x=x, y=y)) + geom_point(aes(color=factor(class)))+
scale_colour_manual(
values = c("normal" = "green","early warning" = "orange","changepoint" = "red"))+
theme(axis.text.x = element_text(face="bold", color="#993333",
size=14, angle=90)) +
scale_x_discrete(limits=as.character(df$time))
Проблема заключается в том, что там печатается один пункт временной метки каждого элемента, и если Я увеличиваю размер набора данных, отметки времени ovaelaps.
Я пытался использовать breaks
prameters в scale_x_discrete
но не отображает метку времени:
indexes<-c(1,10,15)
ggplot(df, aes(x=x, y=y)) + geom_point(aes(color=factor(class)))+
scale_colour_manual(
values = c("normal" = "green","early warning" = "orange","changepoint" = "red"))+
theme(axis.text.x = element_text(face="bold", color="#993333",
size=14, angle=90)) +
scale_x_discrete(breaks=indexes limits=as.character(df$time))
Попробуйте преобразовать ваши временные метки в дату с 'as.Date'. «ggplot» должен иметь возможность отображать метки более красиво автоматически. – coffeinjunky
@coffeinjunky Я думаю, что 'strptime' для преобразования в формат даты лучше подходит в этом случае – Jaap
Хорошая точка! 'as.Date', возможно, не работает. Важным моментом является указание 'ggplot' переменной времени не символом, а переменной времени. – coffeinjunky