R ggplot2多列条形图

R ggplot2多列条形图,r,ggplot2,R,Ggplot2,这看起来很简单,但有一些基本的东西我不明白。我有一个数据框架,每月的一些事件计数作为列,每年作为行。像这样: season sep oct nov dec jan feb 2000 2 7 47 152 259 140 2001 1 5 88 236 251 145 2002 2 14 72 263 331 147 2003 5 6 71 207 290 242 首先,我想创建一个季度的条形图。例如,对于2000年的季节,一个条形

这看起来很简单,但有一些基本的东西我不明白。我有一个数据框架,每月的一些事件计数作为列,每年作为行。像这样:

season  sep oct nov dec jan feb
2000    2   7   47  152 259 140
2001    1   5   88  236 251 145
2002    2   14  72  263 331 147
2003    5   6   71  207 290 242
首先,我想创建一个季度的条形图。例如,对于2000年的季节,一个条形图以竖线的形式显示每个月的值(唉,没有足够的代表点来发布示例的图像)。我想我需要以某种方式重塑我的数据

最终,我想创建一套刻面包装的图表,每个季度一张

请注意,我发现了一个类似的帖子,但由于问题不明确,帖子过于复杂

library(reshape2)
library(ggplot2)
df_m <- melt(df, id.vars = "season")
对于镶嵌面包装的图表集,请尝试:

ggplot(df_m, aes(x = variable, y = value)) + geom_bar(stat = "identity") +
facet_wrap(~season)

对于镶嵌面包装的图表集,请尝试:

ggplot(df_m, aes(x = variable, y = value)) + geom_bar(stat = "identity") +
facet_wrap(~season)

这里有一个tidyr/dplyr方法:

if (!require("pacman")) install.packages("pacman")
pacman::p_load(dplyr, tidyr, ggplot2)

dat %>%
    gather(month, value, -season) %>%
    ggplot(aes(y = value, x = month)) +
    geom_bar(stat = "identity") +
    facet_wrap(~season)

这里有一个tidyr/dplyr方法:

if (!require("pacman")) install.packages("pacman")
pacman::p_load(dplyr, tidyr, ggplot2)

dat %>%
    gather(month, value, -season) %>%
    ggplot(aes(y = value, x = month)) +
    geom_bar(stat = "identity") +
    facet_wrap(~season)

这里有一个@user20650-是的,谢谢。见下面我的评论。我缺乏基本知识和理解,这是我的问题。这里有一个@user20650-是的,谢谢。见下面我的评论。我缺乏基本知识和理解是我的问题。非常感谢@RStudent。在我看来,你应该把你的名字改成RMaster!仅供参考,我在这方面还是个新手,我觉得我需要更多地关注如何首先理解向量、列表、数组和数据帧,但图形非常有趣。最终我跳到了前面,但你对熔化的演示让我明白我需要回到基本面上来。我想真正理解这里的方式/原因。非常感谢@RStudent。在我看来,你应该把你的名字改成RMaster!仅供参考,我在这方面还是个新手,我觉得我需要更多地关注如何首先理解向量、列表、数组和数据帧,但图形非常有趣。最终我跳到了前面,但你对熔化的演示让我明白我需要回到基本面上来。我想真正理解这里的方式/原因。我喜欢这样。谢谢我一直在读关于dplyr的书,它似乎对我来说更容易理解。对于踢腿,我想在一张图表上以月为单位绘制所有四年,但我不会问——我会努力找出答案。我发现学习R最好是在我真正熟悉的数据方面。我喜欢这样。谢谢我一直在读关于dplyr的书,它似乎对我来说更容易理解。对于踢腿,我想在一张图表上以月为单位绘制所有四年,但我不会问——我会努力找出答案。我发现学习R最好是在我真正熟悉的数据方面。