使用 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,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 制作的相同图形?

解决方法

对于 Sheet2,在这种情况下,您需要指定 ggplot2 美学,它与 group 相同

colour
,

如果有人需要答案,这里是解决方案:

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,很抱歉不知道如何给你贴标签

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...