Записи легенды для разных типов линий в ggplot2

Инструменты на основе Xerces испускают следующую ошибку

The processing instruction target matching "[xX][mM][lL]" is not allowed.

, когда XML-объявление встречается где угодно, кроме как в верхней части XML-файла.

Это действительное диагностическое сообщение; другие синтаксические анализаторы XML должны выпустить аналогичное сообщение об ошибке в этой ситуации.

Чтобы устранить проблему, проверьте следующие возможности:

  1. Некоторое пустое пространство или другое / g4] существует до объявления . Разрешение: удалите пустое пространство или любое другое видимое содержимое перед объявлением XML.
  2. Некоторое содержимое невидимого существует до объявления . Чаще всего это бит байта (BOM) . Решение: удалите спецификацию с помощью техник, которые предлагаются на странице W3C на спецификации в HTML.
  3. В XML-контенте существует ложное объявление . Это может произойти, когда файлы XML объединены программно или путем вырезания и вставки. В файле XML может быть только одно объявление , и оно может быть только сверху. Решение: найдите без учета регистра и удалите из файла все, кроме верхнего объявления XML.

1
задан Alexander91 16 January 2019 в 11:18
поделиться

1 ответ

Вы можете использовать следующее:

ggplot(time_series, aes(x = Index, y = predict_rec)) +
  geom_line(aes(lty = factor(in_sample)), size = 0.7) +
  geom_rect(data = recession_dates, aes(xmin = start, xmax = end, ymin = -Inf, ymax = Inf, fill = "NBER recession"), alpha = 0.5, inherit.aes = FALSE) +
  scale_linetype_manual(NULL, values = c("dashed", "solid"), labels = c("Out-of-sample", "In-sample")) +
  scale_fill_manual(NULL, values = "grey50") +
  theme(legend.key.height = unit(3, "mm")) + ylab("Name") + xlab(NULL)

enter image description here

Я внес много изменений, в основном для упрощения кода. Что касается ошибки, проблема заключалась в том, что in_sample является числовой переменной, в то время как нам нужен коэффициент. Некоторые другие комментарии:

  • Вместо того, чтобы повторять, скажем, keyheight = unit(3, "mm"), мы можем упомянуть об этом только один раз в theme.
  • Два geom_line были идентичны, за исключением типа линии. Мы можем использовать только один geom_line с aes(lty = factor(in_sample)), а затем установить значения с помощью scale_linetype_manual.
  • "black" уже является цветом по умолчанию, если мы не используем цветовую эстетику.
  • Так как geom_rect имеет inherit.aes = FALSE, мы можем указать x = Index, y = data в начале.
  • [+1121]
0
ответ дан Julius Vainora 16 January 2019 в 11:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: