我正在尝试为3种不同类型的降水数据创建聚类的条形图。我一直在进行各种搜索,如何用类似的数据集在R中完成搜索。但是,我找不到任何好的帮助。
这是我当前正在使用的数据集。我尝试添加多个geom_bar()
,但没有成功。请参阅下面的尝试:
ggplot(ppSAcc,aes(x=date,y=as.numeric(Precipitation)))+geom_bar(stat="identity",aes(color="blue"),show.legend=FALSE,size=1)+
geom_bar(ppMAcc,stat="identity",aes(x=date,y=as.numeric(Precipitation),color="purple"),show.legend = FALSE,size=1)+
labs(title="Accumulated Solid Precipitation (Snow)",y="Precipitation (mm)")
[第二次尝试,尝试创建一个包含所有三种降水类型的数据框。
data<-data.frame(date=ppSAcc$date,snow=ppSAcc$Precipitation,mixed=ppMAcc$Precipitation,rain=ppRAcc$Precipitation)
哪个给了我上面显示的数据帧。这就是我被困住的地方。我开始编码ggplot ggplot(data,aes(x=date)))+geom_bar(position = "dodge",stat = "identity")
,但不确定如何编写代码,这样我每年将有三列(雪,混合,下雨)。我不确定如何设置aes()
部分。
您需要先将数据框重整为更长的格式,然后才能在ggplot2
中进行绘制。您可以从pivot_longer
使用tidyr
功能:
library(tidyr)
library(dplyr)
library(ggplot2)
library(lubridate)
df %>% pivot_longer(-date, names_to = "var", values_to = "val") %>%
ggplot(aes(x = ymd(date), y= val, fill = var))+
geom_col(position = position_dodge())
它回答了您的问题吗?
如果没有,请按照本指南提供可复制的数据集示例:How to make a great R reproducible example