Возможно ли иметь ось ggplot с метками в формате даты и в текстовом формате?
Следующий код создает диаграмму с осью x в формате даты, которая работает с 18 января по 19 июня,
#create plot with line and points.
#colour of points based on colour column of meltdf2
ggplot(data = meltdf2, aes(x = Month, y = variable, group = variable)) +
geom_line(linetype = "dashed", colour = "grey") +
geom_point(aes(colour = meltdf2$colour, size = 3)) +
geom_point(data = melt_change, aes(shape = value, size = 3)) +
scale_colour_manual(values = pal, limits = names(pal), guide_legend("Risk Level")) +
scale_shape_manual(values = sh_pal, limits = names(sh_pal), guide_legend("Latest Change")) +
scale_x_date(date_breaks = "1 month" , date_labels = "%b-%y") +
theme(axis.title.y=element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(),
axis.line.x = element_line(colour = "darkgrey"), axis.title.x=element_blank(),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
legend.position = c(0.2,0.70),
legend.key.size = unit(1.5,"line")) +
guides(colour = guide_legend(override.aes = list(size = 3)), shape = guide_legend(override.aes = list(size = 5))) +
scale_size(guide = "none")
Однако я хотел бы, чтобы метка даты 19 июня была заменена текстовой меткой с надписью «Изменить».Есть ли способ сделать это без указания всех меток по отдельности?
Я попытался создать вектор, который можно использовать в качестве аргумента labels
в функции scale_x_date
, используя следующий код:
x_labels <- (as.Date(unique(meltdf2$Month)))
x_labels <- sort(x_labels)
x_labels <- c(x_labels,"Change")
Но вектор, кажется, неправильно сортирует даты, и текст «Изменить» заменяется на NA.