繁体   English   中英

在 R 中制作盒子 plot?

[英]Make box plot in R?

我有一个数据集,我首先想按站点对它们进行分组,然后每年用不同的颜色制作箱形图? 因此,output 图表应在 x 轴(NR_B,NR_C....)和框 plot 中表示每个具有不同颜色的站点每年的站点名称。 我尝试使用以下代码,但它不起作用。有人可以帮助我吗?

ggplot(AllEstuaryData, aes(x=Site, y=TP, color=Year)) +
  geom_boxplot() +
  theme(axis.text.x=element_text(angle = 45, hjust=1))

 Site Year TP NR_B 2001 216 NR_B 2001 254 NR_B 2001 216 NR_B 2001 216 NR_B 2001 215 NR_B 2001 206 NR_B 2001 224 NR_B 2001 212 NR_B 2001 215 NR_B 2001 208 NR_B 2001 195 NR_B 2001 214 NR_B 2003 209 NR_B 2003 203 NR_B 2003 214 NR_B 2003 196 NR_B 2003 200 NR_B 2003 207 NR_B 2003 203 NR_B 2003 195 NR_B 2003 210 NR_B 2003 210 NR_B 2004 199 NR_B 2004 200 NR_B 2004 207 NR_B 2004 205 NR_B 2004 216 NR_B 2004 216 NR_B 2004 209 NR_B 2004 199 NR_B 2004 218 NR_B 2004 214 NR_B 2005 278 NR_B 2005 247 NR_B 2005 262 NR_B 2005 256 NR_B 2005 240 NR_B 2005 260 NR_B 2005 282 NR_B 2005 259 NR_B 2005 239 NR_B 2005 272 NR_B 2010 260 NR_B 2010 240 NR_B 2010 250 NR_B 2015 260 NR_B 2015 280 NR_B 2015 270 NR_B 2015 240 NR_B 2015 270 NR_B 2015 240 NR_B 2015 260 NR_B 2015 280 NR_B 2015 240 NR_B 2015 270 NR_B 2018 270 NR_B 2018 300 NR_B 2018 280 NR_C 2001 374 NR_C 2001 355 NR_C 2001 370 NR_C 2001 380 NR_C 2001 356 NR_C 2001 343 NR_C 2001 365 NR_C 2001 356 NR_C 2001 382 NR_C 2001 368 NR_C 2001 358 NR_C 2001 373 NR_C 2003 385 NR_C 2003 433 NR_C 2003 357 NR_C 2003 422 NR_C 2003 376 NR_C 2003 394 NR_C 2003 394 NR_C 2003 398 NR_C 2003 390 NR_C 2003 380 NR_C 2004 395 NR_C 2004 410 NR_C 2004 395 NR_C 2004 415 NR_C 2004 349 NR_C 2004 384 NR_C 2004 420 NR_C 2004 419 NR_C 2004 393 NR_C 2004 389 NR_C 2005 404 NR_C 2005 394 NR_C 2005 408 NR_C 2005 431 NR_C 2005 373 NR_C 2005 442 NR_C 2005 407 NR_C 2005 414 NR_C 2005 396 NR_C 2005 484 NR_C 2010 430 NR_C 2010 390 NR_C 2010 320 NR_C 2018 430 NR_C 2018 390 NR_C 2018 420 NR_D 2001 239 NR_D 2001 225 NR_D 2001 229 NR_D 2001 221 NR_D 2001 214 NR_D 2001 212 NR_D 2001 282 NR_D 2001 234 NR_D 2001 226 NR_D 2001 235 NR_D 2001 254 NR_D 2001 217 NR_D 2003 233 NR_D 2003 236 NR_D 2003 215 NR_D 2003 248 NR_D 2003 250 NR_D 2003 232 NR_D 2003 217 NR_D 2003 228 NR_D 2003 232 NR_D 2003 218 NR_D 2004 228 NR_D 2004 229 NR_D 2004 228 NR_D 2004 212 NR_D 2004 221 NR_D 2004 220 NR_D 2004 239 NR_D 2004 244 NR_D 2004 263 NR_D 2004 242 NR_D 2005 258 NR_D 2005 251 NR_D 2005 234 NR_D 2005 276 NR_D 2005 248 NR_D 2005 266 NR_D 2005 249 NR_D 2005 265 NR_D 2005 251 NR_D 2005 262 NR_D 2010 300 NR_D 2010 300 NR_D 2010 390 NR_D 2018 250 NR_D 2018 230 NR_D 2018 260 NR_E 2012 630 NR_E 2012 710 NR_E 2012 820 NR_E 2013 540 NR_E 2013 540 NR_E 2013 560 NR_E 2018 410 NR_E 2018 390 NR_E 2018 410 NR_E 2012 2100 NR_E 2012 1610 NR_E 2012 1800 NR_E 2013 1000 NR_E 2013 1000 NR_E 2013 1000 NR_E 2015 1490 NR_E 2015 1590 NR_E 2015 1490 NR_E 2015 1530 NR_E 2015 1320 NR_E 2015 1430 NR_E 2015 1670 NR_E 2015 1420 NR_E 2015 1400 NR_E 2015 1450 NR_E 2016 1560 NR_E 2016 1450 NR_E 2016 1500 NR_E 2018 2100 NR_E 2018 1760 NR_E 2018 1540

所需 output

因此,output 图表应在 x 轴(NR_B,NR_C....)和框 plot 中表示每个具有不同颜色的站点每年的站点名称。

您需要将fill/color作为factor(Year)传递。 这将告诉ggplot这是一个离散类别。

ggplot(df, aes(x=Site, y=TP, fill=factor(Year))) +
  geom_boxplot() +
  theme(axis.text.x=element_text(angle = 45, hjust=1))+
  scale_fill_brewer(palette = "Set3")+
  theme(legend.position = "bottom")

生产在此处输入图像描述

这不在问题范围内,但是,考虑到数据的性质,您可能需要考虑不同类型的可视化。

ggplot(df, aes(factor(Year), TP))+
 geom_jitter(width = 0.2) +
 facet_wrap(~Site, scales="free_y")

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM