Я пытаюсь построить линейный график с точками с легендой, основанной на цвете точек.Диаграмма построена правильно, но легенда не отображается.
Данные за диаграммой представляют собой формат кадра данных с 4 столбцами - Месяц, переменная (например, конкретные пользователи), значение (числовое значение, представляющее счет) и цвет (на основе красного / янтарного / зеленого значенияна числовой счет).
Код диаграммы выглядит следующим образом:
ggplot(data = meltdf2, aes(x = Month, y = variable, group = variable)) +
geom_line(linetype = "dashed", colour = "grey") +
geom_point(colour = meltdf2$colour, size = 3) +
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"),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(), panel.grid.minor = element_blank())
legend("topleft", legend = c("High", "Mid", "Low"), pch = 1, col= c("red2","gold","limegreen"))
Независимо от того, выполняю ли я код графика и легенды по отдельности или вместе и включаю ли я их в одни и те же паратезыили нет, я получаю сообщение об ошибке: Error in strwidth(legend, units = "user", cex = cex, font = text.font) : plot.new has not been called yet
Любой совет о том, как отобразить легенду, был бы очень признателен.