使用 ggplot, geom_line() 绘制多条线
multiple lines plot with ggplot, geom_line()
我想在同一图表中绘制多条线。每条线代表一个年龄组 (grupo_edad)。 x 轴是通知病例的周数 (epiweek),y 轴是发病率 (inc)。
这些是我的数据:
inc_015
当我使用 plotly 时,结果是完美的:
p <- plot_ly()%>%
layout(title = "Curvas de tasas de incidencia de casos notificados de COVID-19 \n en la Región Metropolitana, según grupo etario y semana epidemiológica primeros síntomas",
xaxis = list(title = "Semana Epidemiológica"),
yaxis = list (title = "Tasa x 100.000 habitantes") ) %>%
add_trace(x = inc_015$epiweek, y = inc_015$inc, type = 'scatter', mode = 'line', name = '0 a 15',
line=list(color='#16e3ff',dash='dashed')) %>%
add_trace(x = inc_1525$epiweek, y = inc_1525$inc, type = 'scatter', mode = 'line', name = '15 a 25',
line=list(color='#00c9e4',dash='dashed'))
p
但是当我尝试使用 ggplot 时,结果完全不同,点是垂直连接的
ggplot(data=incidencia1,
aes(x=epiweek, y=inc, colour=grupo_edad)) +
geom_point()
谁能告诉我如何显示我在 ggplot2 中用 plotly 制作的同一张图?
对于 ggplot2
您需要指定 group
美学,在这种情况下它与 colour
相同
ggplot(data=incidencia1,
aes(x=epiweek, y=inc, group=grupo_edad, colour=grupo_edad)) +
geom_point() + geom_line()
如果有人需要答案,这里是解决方案:
incidencia1$grupo_edad <- incidencia1$grupo_edad %>% as.factor()
f <- ggplot(data=incidencia1,
aes(x=epiweek, y=inc, group=grupo_edad, col=grupo_edad)) +
geom_path() +
scale_color_manual(name = 'Grupo Etario', labels = c("0-14", "15-24", '25-49', '50-64', '65-80', '>=80'),
values = c("#FDD700", 'red', "#FE882D", "darkolivegreen3", 'darkblue', 'deepskyblue3')) +
theme_ipsum_rc(grid = 'Y') + theme(axis.text.x = element_text(angle = 90)) +
xlab('Semana Epidemiológica') +
ylab('Tasa de Incidencia') + theme(axis.text.x = element_text(angle = 90)) +
labs(title = 'Curvas de tasas de incidencia de casos notificados de COVID-19',
subtitle = 'Región Metropolitana, según grupo etario y semana epidemiológica primeros síntomas')
f
感谢@Sinh Nguyen,抱歉不知道如何给你贴标签
我想在同一图表中绘制多条线。每条线代表一个年龄组 (grupo_edad)。 x 轴是通知病例的周数 (epiweek),y 轴是发病率 (inc)。
这些是我的数据:
inc_015
当我使用 plotly 时,结果是完美的:
p <- plot_ly()%>%
layout(title = "Curvas de tasas de incidencia de casos notificados de COVID-19 \n en la Región Metropolitana, según grupo etario y semana epidemiológica primeros síntomas",
xaxis = list(title = "Semana Epidemiológica"),
yaxis = list (title = "Tasa x 100.000 habitantes") ) %>%
add_trace(x = inc_015$epiweek, y = inc_015$inc, type = 'scatter', mode = 'line', name = '0 a 15',
line=list(color='#16e3ff',dash='dashed')) %>%
add_trace(x = inc_1525$epiweek, y = inc_1525$inc, type = 'scatter', mode = 'line', name = '15 a 25',
line=list(color='#00c9e4',dash='dashed'))
p
但是当我尝试使用 ggplot 时,结果完全不同,点是垂直连接的
ggplot(data=incidencia1,
aes(x=epiweek, y=inc, colour=grupo_edad)) +
geom_point()
谁能告诉我如何显示我在 ggplot2 中用 plotly 制作的同一张图?
对于 ggplot2
您需要指定 group
美学,在这种情况下它与 colour
ggplot(data=incidencia1,
aes(x=epiweek, y=inc, group=grupo_edad, colour=grupo_edad)) +
geom_point() + geom_line()
如果有人需要答案,这里是解决方案:
incidencia1$grupo_edad <- incidencia1$grupo_edad %>% as.factor()
f <- ggplot(data=incidencia1,
aes(x=epiweek, y=inc, group=grupo_edad, col=grupo_edad)) +
geom_path() +
scale_color_manual(name = 'Grupo Etario', labels = c("0-14", "15-24", '25-49', '50-64', '65-80', '>=80'),
values = c("#FDD700", 'red', "#FE882D", "darkolivegreen3", 'darkblue', 'deepskyblue3')) +
theme_ipsum_rc(grid = 'Y') + theme(axis.text.x = element_text(angle = 90)) +
xlab('Semana Epidemiológica') +
ylab('Tasa de Incidencia') + theme(axis.text.x = element_text(angle = 90)) +
labs(title = 'Curvas de tasas de incidencia de casos notificados de COVID-19',
subtitle = 'Región Metropolitana, según grupo etario y semana epidemiológica primeros síntomas')
f
感谢@Sinh Nguyen,抱歉不知道如何给你贴标签