首页 > 解决方案 > 如何在 ggplot2 中绘制多条线,x 为年份,y 为频率

问题描述

我有一个看起来像这样的数据框

    TYPE              YEAR        
    ARSON             2008
    THEFT             2009  
    ARSON             2010
    ASSAULT           2008  

数据继续有更多类型,年份在2008-2012年之间。我正在尝试创建一个 ggplot2 图,其中 x 上的年份、y 上的类型计数和表示每种类型的多条线。

我试过用多个变量融化但无法弄清楚

标签: rgraphstat

解决方案


你不需要使用融化。使用 table() 或许多其他方法之一来计算频率。

library(ggplot2)
yourData <- data.frame(TYPE = c('ARSON', 'THEFT', 'ARSON', 'ASSAULT'),
                       YEAR = c('2008', '2009', '2010', '2008'))
plotData <- as.data.frame(table(yourData))
ggplot(plotData, aes(YEAR, Freq, group = TYPE, color = TYPE)) +
    geom_line()

推荐阅读