Я хочу создать график, который имеет 36 тиков на оси X для отображения текста.
У меня есть df
для этого примера, я хочу 12 тиков для отображения текста.
period agg1 agg2
201601 1 2
201602 2 2
201603 3 2
. . .
. . .
. . .
201612 4 1
period
- это число c, в форме ГГГГММ, поэтому я изменил его на дату
for (row in 1:nrow(df)){
df[row,'period'] <- df[row,'period'] %>%
mutate(period = as.Date(as.character(period*100+25),"%Y%m%d"))
}
растаял данные
long_df <- melt(df, id = "period")
Я нанес на график данные использование:
df_plot <- ggplot(data = long_df,
aes(x = period, y = value, colour = variable)) +
geom_line()
# adding titles & labels
df_plot + labs(title = "Aggregates", colour = "Method") +
xlab("Period") +
ylab("Agg, £million") +
scale_x_discrete(breaks = c("201601", "201602", "201603", "201604", "201605", "201606", "201607", "201608", "201609", "201610", "201611", "201612"))
Это создает график, где отметки находятся в правильном месте, но текст не отображается в отметке.
Я попытался добавить аргумент labels = c()
, но он ничего не показывает
df_plot + labs(title = "Aggregates", colour = "Method") +
xlab("Period") +
ylab("Agg") +
scale_x_discrete(breaks = c("201601", "201602", "201603", "201604", "201605", "201606", "201607", "201608", "201609", "201610", "201611", "201612"),
labels = c("201601", "201602", "201603", "201604", "201605", "201606", "201607", "201608", "201609", "201610", "201611", "201612"))
Я нашел это: ggplot метки оси x со всеми значениями оси x но согласно решению мой аргумент labels
должен работать?