如何在格子bwplot中向x轴添加第三个因子

时间:2013-06-12 19:38:06

标签: r plot lattice boxplot

我对绘制数据非常新,我正在尝试为我的bwplot添加第三个因素。

我的因素是:

  • 6个级别的站点(C0,C1,C2,C3,C4,C5)
  • 2级(高,低)的季节性流量
  • 2个级别的土地使用(城市,农村)

我可以使用以下脚本绘制网站和季节性流程:

C< - read.csv(' Collie 3.csv')

库(晶格)

bwplot(TN.TP~ Site| Seasonal.Flow,data=C,main="Collie River TN:TP",ylab="ratio",xlab="Site + Flow regime", horizontal=FALSE)

数据链接:https://www.dropbox.com/s/6q8b1svld61pqsr/Collie%203.csv

我的问题是我想在x轴上包括土地使用,其中C0和C1站点是农村,站点C2,C3,C4,C5是城市。 我看过ggplot,但仍然没有想到它。即使只是对C0和C1进行不同的着色也会有所帮助。

2 个答案:

答案 0 :(得分:0)

以下是ggplot2的解决方案。

library(ggplot2)
ggplot(data = C, aes(x = Site, y = TN.TP, colour = Land.Use)) +
  facet_wrap( ~ Seasonal.Flow, ncol = 1) +
  geom_boxplot() +
  scale_colour_hue("Land use") +
  ggtitle("Collie River TN:TP") +
  ylab("ratio") +
  xlab("Site + Flow regime")

enter image description here

答案 1 :(得分:0)

以下是lattice解决方案:

library("lattice")
C <- read.csv('Collie 3.csv')

bwplot(TN.TP~ Site| Seasonal.Flow,data=C,main="Collie River TN:TP",
   ylab="ratio",xlab="Site + Flow regime", horizontal=FALSE, 
   groups = Land.Use, auto.key=TRUE,
   panel = panel.superpose,
   panel.groups = panel.bwplot)

使用layout()可以指定列数和行数:

bwplot(TN.TP~ Site| Seasonal.Flow,data=C,main="Collie River TN:TP",
   ylab="ratio",xlab="Site + Flow regime", horizontal=FALSE, 
   groups = Land.Use, auto.key=TRUE,
   panel = panel.superpose,
   panel.groups = panel.bwplot,
   layout = c(1,2))  # same layout as ggplot2 graph

或者,如果您想将它们真正分开绘制,请尝试以下方法: (看看第三个因素被添加到&#34;公式&#34;)

bwplot(TN.TP~ Site| Seasonal.Flow * Land.Use ,data=C,
main="Collie River TN:TP", ylab="ratio",xlab="Site + Flow regime",
horizontal=FALSE)