Тип линии на графике серии времени (ggplot) - PullRequest
0 голосов
/ 25 апреля 2018

Я хотел бы применить различные модели типов линий на графике временных рядов.Вот воспроизводимый пример, использующий структуру, похожую на мои данные / код.Допустим, мне нужна сплошная линия для женщин и пунктирная линия для мужчин.

source("http://www.openintro.org/stat/data/arbuthnot.R")
library(ggplot2)
library(reshape2)

names(arbuthnot) <- c("Year", "Men", "Women")

arbuthnot.melt <- melt(arbuthnot, id.vars = 'Year', variable.name = 'Sex', 
                       value.name = 'Rate')
ggplot(arbuthnot.melt, aes(x = Year, y = Rate, shape = Sex, color = Sex))+
  geom_line() + scale_color_manual(values = c("Women" = '#ff00ff','Men' = '#3399ff')) + 
  scale_linetype_manual(values = c('Women' = 'solid', 'Men' = 'dotted'))

Я застрял здесь долгое время, я пробовал другие синтаксисы, такие как c(0,4), scale_linetype_manual(values = c('Women' = 1, 'Men' = 4)), scale_shape_manual,и т.д. Я действительно не понимаю, почему scale_linetype_manual здесь не работает.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 25 апреля 2018

Попробуйте

ggplot(arbuthnot.melt, aes(x = Year, y = Rate, shape = Sex, color = Sex, linetype = Sex))+
  geom_line() + scale_color_manual(values = c("Women" = '#ff00ff','Men' = '#3399ff')) + 
  scale_linetype_manual(values = c('Women' = 'solid', 'Men' = 'dotted'))

enter image description here

Тип линии является частью эстетического отображения, поэтому его необходимо включить в элемент aes.

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