问题描述
我正在尝试使用绿色,黄色和棕色数据列创建一个堆积的条形图。我已经尝试了大约4个小时才能得到某些与我正在寻找的情节类似的东西,但是它没有用。我希望有人可以帮助我!
我希望按季节和年份获取数据。如果有帮助,我可以附上草图!
我已经使用dput附加了数据集!
非常感谢您!
structure(list(Group.1 = c("Dry","Wet","Dry","Wet"),Group.2 = c(2014,2014,2015,2016,2017,2018,2019,2020),Season = c(NA_real_,NA_real_,NA_real_),Month = c(NA_real_,Year = c(2014,Date = structure(c(1408464000,1416441600,1435622400,1436068800,1467720000,1467754971.42857,1499212800,1499241600,1530345600,1530835200,1562184000,1562299200,1579780800),class = c("POSIXct","POSIXt")),Site = c(5.33333333333333,5.33333333333333,5.72222222222222,7.71428571428571,7.21428571428571,7.83333333333333,7.76190476190476,7.85714285714286,7.85714285714286
),PercentCover = c(0.897777777777778,0.878888888888889,0.831666666666667,0.725555555555556,0.676666666666667,0.686190476190476,0.807142857142857,0.865238095238095,0.867142857142857,0.839047619047619,0.776666666666667,0.80952380952381,0.81),AveHt = c(45.2214646464646,46.8260381593715,54.949214365881,44.4990179573513,55.0315098261527,50.7637987012987,64.539917027417,61.1960076960077,65.4478930461073,60.7889739229025,61.2646919879063,65.2833994708995,65.5714285714286),SE = c(6.25553984399914,6.31783891047163,7.03447757871604,5.79283592248656,6.89567924812464,5.41501015322623,7.891615542892,6.20637360205532,7.01436253023661,6.62282377122733,8.52215129612555,8.331357660327,7.14285714285714
),MaxHt = c(76.8333333333333,80.5555555555556,86.9444444444444,70.2777777777778,81.3095238095238,70.2380952380952,97.5952380952381,87.3809523809524,95.7142857142857,90.3571428571429,99.5238095238095,100,102.5),green = c(NaN,NaN,0.393510431109336,0.0663154040347023,0.365637822536709,0.201368231543444,0.281001365778443,0.281952721605167,0.185459801045249,0.346027845615739,0.252340369608337,0.139236999167285,0.0221428571428571),yellow = c(NaN,0.384359796082841,0.782121480112796,0.506947037039218,0.669662709760724,0.596585207531189,0.644847772240803,0.707306036947104,0.53298032719581,0.633770702365847,0.6153402143547,0.658571428571429),brown = c(NaN,0.222129772807823,0.151563115852502,0.126929231774899,0.128969058695832,0.122413426690368,0.07319950615403,0.105402660176144,0.112514193710817,0.111747916582478,0.243266532672145,0.317857142857143),Temp = c(82.8888888888889,78.1111111111111,81.3055555555556,76.8888888888889,80.8095238095238,75.8333333333333,81.1190476190476,76.7857142857143,80.8780487804878,76.1578947368421,82.1190476190476,77.0238095238095,74),Temp_C = c(28.2716049382716,25.6172839506173,27.391975308642,24.9382716049383,27.1164021164021,24.3518518518519,27.2883597883598,24.8809523809524,27.1544715447154,24.5321637426901,27.8439153439153,25.0132275132275,23.3333333333333
),Vis = c(1.94166666666667,1.89444444444444,1.80555555555556,1.48333333333333,1.71904761904762,1.89761904761905,2.27380952380952,2.42857142857143,2.41190476190476,2.21666666666667,2.2775,2.50714285714286,2.55714285714286),nests = c(11,4.88888888888889,18.6666666666667,7.52777777777778,6.88095238095238,4,11.9024390243902,6.11904761904762,6.61904761904762,4.69047619047619,11.1904761904762,10.8095238095238,4.92857142857143),SickorDeadFish = c(0.666666666666667,0.444444444444444,0.0555555555555556,0.0833333333333333,0.19047619047619,0.404761904761905,0.119047619047619,0.0714285714285714,0.0952380952380952,0.0731707317073171,0.0714285714285714
),Cladophora = c(NaN,0.118666666666667,0.0942857142857143,0.0504761904761905,0.0590476190476191,0.01,0.0166666666666667,0.0285714285714286,0.0361904761904762,0.0128571428571429),Comments = c(NaN,NaN)),row.names = c(NA,-13L),class = "data.frame")
解决方法
目前尚不清楚您想要什么,因此我建议使用您提到的变量和您的帖子中df
中包含的dput()
所提到的变量来绘制下一个草图:
library(tidyverse)
#Select data
dfn <- df %>% select(c(Group.1,Group.2,green,yellow,brown))
#Melt
dfp <- dfn %>% pivot_longer(cols = -c(1,2))
#Plot
ggplot(data=dfp[dfp$Group.2!=2014,],aes(x=Group.1,y=value,fill=name))+
geom_bar(stat='identity',position = position_stack())+
facet_wrap(.~Group.2,scales = 'free')
输出:
这是一个示例,我删除了2014
的数据,但是在您的真实数据中,您必须具有完整的值。