Пользовательские даты отметок на ggplot - PullRequest
0 голосов
/ 24 марта 2020

Я хотел бы построить следующие данные:

set.seed(5)
my_df <- data.frame(date = sample(seq(as.Date("2019-07-03"), as.Date("2019-07-30"), by = 1), 10), val_1 = 1:10, val_2 = 11:20) 

my_df<- gather(my_df, "type", "value", -date)
ggplot(data=my_df, aes(x= date, y=value, colour = type)) + geom_line() 

Выше указаны только некоторые даты в виде отметок, а не все 10. Как я могу показать все даты в виде отметок. Я пытался scale_x_discrete(labels = unique(my_df$date)), но это не сработало.

1 Ответ

2 голосов
/ 24 марта 2020

Обрабатывайте даты как фактор

ggplot(data = my_df,
  aes(x = as.factor(date), y = value, colour = type, group = type)) +
  geom_line()

Plot

Вы также можете использовать scale_x_date, упомянутое @ r2evans:

ggplot(data=my_df, aes(x= date, y=value, colour = type)) + 
  geom_line() +
  scale_x_date(breaks = unique(my_df$date), minor_breaks = NULL) +
#Added for readability
  theme(axis.text.x = element_text(angle = 30, hjust = 1))

Plot2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...