R 中的断轴
Break axis in R
最近我在用 xyplot
表示一些数据时遇到了一些问题。一切看起来都很好,但我的老板让我打破轴(我不是很喜欢打破轴)。到目前为止,我已经能够使用函数 shingle
完成此操作,但面板的顺序非常混乱,无法读取信息。此外,我希望条带在图形上只显示变量 cs
而不是 st
(我的示例 data.frame 中指定的信息)。然后,真正的挑战是将所有这些要求固定到 lattice 中,这是组内图形的内部标准。
这是我的示例 data.frame (http://1drv.ms/1JOKSPU) 代码示例:
AA<-read.csv("~/example.csv",header = T,sep = ";",dec = ",")
AA$st <-
shingle(Indl.Data$t,
intervals = rbind(c(0, 14),
c(23, 26)))
AA<-AA[with(AA, order(t)), ]
my.panel.1 <- function(x, y, subscripts, col, pch,cex,sd,...) {
low95 <- y-sd[subscripts]
up95 <- y+sd[subscripts]
panel.xyplot(x, y, col=col, pch=pch,cex=cex, ...)
panel.arrows(x, low95, x, up95, angle=90, code=3,lwd=3,
length=0.05, alpha=0.5,col=col)
}
xyplot( logOD~t|cs+st,
data=AA,
strip = T,
sd=0,
groups=cs,
xlab = list("Time ", cex=1.5),
ylab = list("growth", cex=1.5),
type="p",
col=c("red","black"),
scales = list(x = "free"), between = list(x = 0.5),
panel.groups="my.panel.1",
panel="panel.superpose",
par.settings = list(layout.widths = list(panel = c(6, 2))))
这就是我得到的结果:
提前,如果我的问题的表述有任何错误,我很抱歉,我没有编程背景,这是我的第三个问题。
干杯;
您想通过 st
,然后 cs
。所以试试 xyplot( logOD~t|st+cs,
.
如果需要,可以使用 layout=c(4,3)
。 as.table=TRUE
如果你想让它从左上角开始。
最近我在用 xyplot
表示一些数据时遇到了一些问题。一切看起来都很好,但我的老板让我打破轴(我不是很喜欢打破轴)。到目前为止,我已经能够使用函数 shingle
完成此操作,但面板的顺序非常混乱,无法读取信息。此外,我希望条带在图形上只显示变量 cs
而不是 st
(我的示例 data.frame 中指定的信息)。然后,真正的挑战是将所有这些要求固定到 lattice 中,这是组内图形的内部标准。
这是我的示例 data.frame (http://1drv.ms/1JOKSPU) 代码示例:
AA<-read.csv("~/example.csv",header = T,sep = ";",dec = ",")
AA$st <-
shingle(Indl.Data$t,
intervals = rbind(c(0, 14),
c(23, 26)))
AA<-AA[with(AA, order(t)), ]
my.panel.1 <- function(x, y, subscripts, col, pch,cex,sd,...) {
low95 <- y-sd[subscripts]
up95 <- y+sd[subscripts]
panel.xyplot(x, y, col=col, pch=pch,cex=cex, ...)
panel.arrows(x, low95, x, up95, angle=90, code=3,lwd=3,
length=0.05, alpha=0.5,col=col)
}
xyplot( logOD~t|cs+st,
data=AA,
strip = T,
sd=0,
groups=cs,
xlab = list("Time ", cex=1.5),
ylab = list("growth", cex=1.5),
type="p",
col=c("red","black"),
scales = list(x = "free"), between = list(x = 0.5),
panel.groups="my.panel.1",
panel="panel.superpose",
par.settings = list(layout.widths = list(panel = c(6, 2))))
这就是我得到的结果:
提前,如果我的问题的表述有任何错误,我很抱歉,我没有编程背景,这是我的第三个问题。
干杯;
您想通过 st
,然后 cs
。所以试试 xyplot( logOD~t|st+cs,
.
如果需要,可以使用 layout=c(4,3)
。 as.table=TRUE
如果你想让它从左上角开始。