Я пытаюсь добавить как легенду справа, которая указывает имя переменной. Во фрейме данных строки представляют собой столбцы с именами «Расходы на исправительные учреждения» или «Расходы на медицинскую помощь», и я хочу, чтобы они отображались. Может кто-нибудь помочь, пожалуйста?
Вот мой сюжет:
Вот мой код:
ggplot(Alabama, aes(x=AlYear)) +
geom_line(aes(y = AlMed), color = "darkred") +
geom_line(aes(y = AlCorr), color = "steelblue", linetype = "twodash") +
labs(title='Figure 3: Alabama Social Spending',
x='Fiscal Year', y= 'Spending (in $100,000')
Это связано с тем, что тип расходов (Coor или Med) на самом деле является переменной, которую вы хотите сопоставить с эстетикой color
. Итак, вы должны сначала pivot_longer()
данные сохранить в столбце, а затем включить их как переменную внутри aes()
. Наконец, поскольку цвет теперь является переменной, вы можете установить ручные значения в соответствующей шкале.
library(tidyverse)
Alabama <- tibble(AlYear = 2010:2015,
AlMed = c(300,400,600,650,700,750),
AlCorr = c(400,400,450,500,450,450))
Alabama %>%
pivot_longer(AlMed:AlCorr, names_to = "Spending Type") %>%
ggplot(aes(x=AlYear, y = value, color= `Spending Type`)) +
geom_line() +
labs(title='Figure 3: Alabama Social Spending',
x='Fiscal Year', y= 'Spending (in $100,000') +
scale_color_manual(values=c("darkred", "steelblue"),
labels = c("Medicaid Spending","Correctional Spending"))
Created on 2020-12-09 by the reprex package (v0.3.0)
Конечно, вы можете сделать то же самое для типа линии (добавьте его в вызов aes()
и добавьте scale_linetype_manual()
в конце).