这看起来很简单,但有一些根本我没有到达这里。我有一个数据框,每月有一些事件的计数作为列,每年作为行。像这样:
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年的季节,条形图显示每个月的值作为垂直条(唉,没有足够的重复点来发布示例的图像)。我猜我需要以某种方式重塑我的数据?
最终我想创建一个由小组组成的图表,每个季节一个。
请注意我发现了类似的帖子,但由于问题不明确,帖子过于复杂。
答案 0 :(得分:4)
library(reshape2)
library(ggplot2)
df_m <- melt(df, id.vars = "season")
为了绘制一个季节(例如2000年)
ggplot(subset(df_m, season == "2001"), aes(x = variable, y = value)) +
geom_bar(stat = "identity")
对于facet包装的图表集试试:
ggplot(df_m, aes(x = variable, y = value)) + geom_bar(stat = "identity") +
facet_wrap(~season)
答案 1 :(得分:1)
这是 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)