使用ggplot2绘制多个频率

时间:2016-05-24 00:04:43

标签: r ggplot2 reshape

我无法按组绘制一个变量的频率。具体来说,我想绘制一个折线图,其中x轴是月和年,y轴是每个月和每年的值的频率,每个组用颜色表示。这就是我的代码:

reg number;
always @(posedge clk)
begin
case(SW[3:1])
        000: number = 32h'A65D;
        001: number = 32h'BAB9;
        010: number = 32h'9430;
        011: number = 32h'8BEB;
        100: number = 32h'7CB8;
        101: number = 32h'62F1;
        110: number = 32h'6EF9;
        111: number = 32h'5D5C;
        default: number = 32h'0000;
endcase
end

Frequency by group over time

这是library(reshape2) library(ggplot2 r_treat<-time[,c(4,10)] risk_treat <- melt(r_treat, id.vars="Risk_Class", variable.name="administered_date") ggplot(data=risk_treat, aes(x=value, y=value, group = Risk_Class, colour = Risk_Class)) + geom_line() + geom_point( size=4, shape=21, fill="white") 输出:

dput(risk_treat)

2 个答案:

答案 0 :(得分:2)

我在使用Date格式时遇到了一些问题,因此我将事情转换为简单的## Change formatting to date class df$value <- yearmon(df$value) df$date <- as.Date(paste('01', df$value), format='%d %b %Y') ## Get counts for each risk class on each date frequencies <- with(df, table(Risk_Class, date)) frequencies <- as.data.frame(frequecies) frequences$date <- as.Date(frequencies$date) ## Plot frequencies by date ggplot(frequencies, aes(date, Freq, group = Risk_Class, colour = Risk_Class)) + geom_line() + geom_point(size = 4, shape = 21, fill = "white") 类。

ggplot(data= frequencies, aes(x = date, y = Freq, group = Risk_Class, colour = Risk_Class)) + 
    geom_line() + 
    geom_point( size=4, shape=21, fill="white") + 
    scale_x_date(limits = c(as.Date('2010-01-01'), Sys.Date()))

enter image description here

这看起来就像你追求的那样,尽管我认为可视化可以得到改善。看起来很难。

我认为这可以让您更好地查看数据,但这完全取决于您的目的。

{{1}}

enter image description here

答案 1 :(得分:0)

我改进并纠正了

df=structure(list(Risk_Class = c("Medium", "Medium", "Medium", "Low", 
    "Low", "Low", "Low", "High", "High", "High", "Low", "Medium", 
    "High", "High", "High", "High", "High", "High", "High", "High", 
    "High", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
    "Low", "High", "High", "High", "Medium", "Medium", "Medium", 
    "Medium", "Medium", "Medium", "High", "High", "High", "High", 
    "High", "High", "High", "High", "High", "High", "High", "High", 
    "High", "High", "High", "High", "Medium", "Medium", "Medium", 
    "High", "High", "High", "Medium", "Medium", "Medium", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "High", "High", "High", 
    "High", "High", "High", "High", "High", "High", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Medium", "High", "High", 
    "Medium", "Medium", "Medium", "High", "High", "High", "Low", 
    "Low", "Low", "Low", "High", "High", "High", "Low", "Low", "Low", 
    "High", "High", "High", "High", "Low", "Low", "Low", "Low", "Low", 
    "High", "High", "High", "High", "High", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
    "Low", "High", "High", "High", "High", "High", "High", "High", 
    "Medium", "High", "High", "High", "High", "High", "Medium", "Low", 
    "Low", "Low", "Medium", "Medium", "Medium", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "High", "Medium", "Medium", "Medium", 
    "Medium", "Medium", "High", "Low", "Low", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Medium", "Medium", "Medium", "Medium", 
    "Medium", "Low", "Low", "High", "High", "High", "High", "High", 
    "High", "High", "High", "High", "High", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Medium", "Medium", 
    "Medium", "Low", "Low", "Medium", "Medium", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "High", 
    "High", "High", "High", "High", "High", "Low", "Low", "High", 
    "High", "High", "High", "High", "Low", "Low", "Low", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Medium", "Low", "Low", 
    "Low", "Low", "Low", "Medium", "Medium", "Medium", "Low", "Low", 
    "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", "Low", 
    "Low", "Low", "Low", "High", "High", "High", "High", "Low", "Low", 
    "Low", "Medium", "Low", "Low", "Low", "Low", "Low", "Low"), administered_date = structure(c(1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "administered_date", class = "factor"), 
        value = structure(c(2015, 2015.41666666667, 2014.91666666667, 
        2014, 2014.5, 2012.41666666667, 2013.66666666667, 2015.75, 
        2011.75, 2014.83333333333, 2014.25, 2013, 2013.83333333333, 
        2013.83333333333, 2013.91666666667, 2013.91666666667, 2014.75, 
        2014.75, 2013.25, 2014.83333333333, 2015.5, 2010.66666666667, 
        2015.83333333333, 2014.66666666667, NA, 2011.58333333333, 
        2013.5, 2013.33333333333, 2015.83333333333, 2015.33333333333, 
        2015.75, 2014, 2015.33333333333, 2015.33333333333, 2013.66666666667, 
        2013.66666666667, 2015.83333333333, 2015.83333333333, 2013.16666666667, 
        2013.16666666667, 2015.41666666667, 2015.41666666667, 2012.58333333333, 
        2012.58333333333, 2014.83333333333, 2014.83333333333, 2015, 
        2015, 2013, 2015.5, 2015.75, 2012.25, 2020.66666666667, 2013.16666666667, 
        2009.58333333333, NA, 2012.25, 2014.08333333333, 2015.83333333333, 
        2014.08333333333, NA, 2014.08333333333, 2015.08333333333, 
        2014.91666666667, 2015.75, 2014.08333333333, 2015.41666666667, 
        2014.75, 2015.33333333333, 2014.58333333333, 2015, 2013, 
        2014.58333333333, 2014.25, 2013.25, 2015.75, 2013.75, 2014.75, 
        2013.5, 2015.83333333333, 2013, 2015.58333333333, 2014.33333333333, 
        2015.5, 2014.91666666667, 2013.58333333333, 2013.41666666667, 
        2014.16666666667, 2015.75, 2015, 2014.08333333333, 2015.41666666667, 
        2014.58333333333, 2012.91666666667, 2014.41666666667, 2015.16666666667, 
        2015.08333333333, 2013.83333333333, 2013.41666666667, 2013.91666666667, 
        2015.83333333333, 2015.75, 2013.33333333333, 2014.66666666667, 
        2014.25, 2014.91666666667, 2015.33333333333, 2014.33333333333, 
        2014.58333333333, 2014.33333333333, 2014.33333333333, 2014.25, 
        2015.83333333333, 2014.16666666667, 2014.75, 2012.41666666667, 
        2013.5, 2015.5, 2014.08333333333, 2013.25, 2015.5, 2013, 
        2012.66666666667, 2015.16666666667, 2012.33333333333, 2013.41666666667, 
        2015.16666666667, 2015.16666666667, 2015.25, 2011.66666666667, 
        2015.08333333333, 2014.41666666667, 2012.91666666667, 2014.66666666667, 
        2013.16666666667, 2015.16666666667, 2013.58333333333, 2014, 
        2011.75, 2015.75, 2015.58333333333, 2011.5, 2014.91666666667, 
        2013.25, 2013.33333333333, 2005.25, 2011, 2011.83333333333, 
        2013.16666666667, 2013.91666666667, 2015.66666666667, 2014.58333333333, 
        2015.75, 2015.5, 2012.75, 2014, 2012.91666666667, 2015.66666666667, 
        2015.58333333333, 2013.08333333333, 2012.5, 2012.5, 2011.83333333333, 
        2015.66666666667, 2014.41666666667, 2015.33333333333, 2015.66666666667, 
        2013.66666666667, 2015.5, 2015.5, 2013.5, 2012.25, 2013.58333333333, 
        2015, 2015.25, 2019.25, 2013.91666666667, 2014.66666666667, 
        2015.5, 2014.41666666667, 2013.08333333333, 2013.41666666667, 
        2014.83333333333, 2014.25, 2013.41666666667, 2013.5, 2014.83333333333, 
        2015.5, 2013.75, 2014.16666666667, 2014.66666666667, 2025.66666666667, 
        2012.41666666667, 2014.66666666667, 2014.66666666667, 2013.5, 
        2013.5, 2013.25, 2014, 2014.16666666667, 2012.83333333333, 
        2013.41666666667, 2015.58333333333, 2015.16666666667, 2014.5, 
        2014.5, 2013.5, 2015.16666666667, 2014.25, 2015.66666666667, 
        2013.25, 2014.33333333333, 2014.91666666667, 2013.16666666667, 
        2014.08333333333, 2015.08333333333, 2014.75, 2012.75, 2013.41666666667, 
        2012.08333333333, 2015.5, 2005.58333333333, 2014.75, 2013.25, 
        2015.83333333333, 2014, 2013.66666666667, 2015.5, 2012.25, 
        2012.33333333333, 2015.83333333333, 2013.75, 2012.66666666667, 
        2012.41666666667, 2014.83333333333, 2012.33333333333, 2013.58333333333, 
        2014.33333333333, 2015.5, 2013.83333333333, 2014.25, 2013.91666666667, 
        2014.16666666667, 2014.66666666667, 2013.66666666667, 2012.5, 
        2015.16666666667, 2009.5, 2015.83333333333, 2014, 2014.33333333333, 
        2014.41666666667, 2013.91666666667, 2013.33333333333, 2015.25, 
        NA, 2014.08333333333, 2013.58333333333, 2013.66666666667, 
        2011.91666666667, 2013, 2012, 2014.58333333333, 2014.16666666667, 
        2012.5, 2014.41666666667, 2014.58333333333, 2013, 2015.75, 
        2012.75, 2015.66666666667, 2014.41666666667, 2014.41666666667, 
        2014.75, 2015.5, 2015.5, 2014, 2014.75, 2015, 2012.41666666667, 
        2013.91666666667, 2013.5, 2015.5, 2013.25, 2013.58333333333, 
        2014.91666666667, 2011.33333333333, 2014.25, 2013.75, 2014, 
        2015.41666666667, 2013.58333333333, 2015.08333333333, 2015.25, 
        2014.33333333333, 2013.91666666667, 2013.25, 2015, 2014.5, 
        2015.16666666667, 2015.66666666667), class = "yearmon")), row.names = c(NA, 
    -301L), .Names = c("Risk_Class", "administered_date", "value"
    ), class = "data.frame")

##############



    library(zoo)
    df$value <- yearmon(df$value)
    df$date <- as.Date(paste('01', df$value), format='%d %b %Y')

    ## Get counts for each risk class on each date
    frequencies <- with(df, table(Risk_Class, date))
    frequencies <- as.data.frame(frequencies)
    frequencies$date <- as.Date(frequencies$date)

    ## Plot frequencies by date
    ggplot(frequencies, aes(date, Freq, group = Risk_Class, colour = Risk_Class)) + 
           geom_line() + 
           geom_point(size = 4, shape = 21, fill = "white")