Lattice 包:在 XYPlot 中组合(线+点)绘图并根据多页分组创建 PDF
Lattice Package : combine (Line +Point) Plot in XYPlot and create PDF as per groupying in multiple pages
亲爱的,我有一个挑战,线图和点图必须在下面的 Lattice Package 的 XYPlot 中组合,这是一个可重现的例子,绘图应该在 PDF 上取决于因素例如:这里 factor(f1) = 4 所以应该b4 4页PDF【注:这里Factor是一组数据】
`library(lattice)
d=data.frame(seq <- c(1,2,3,4,5,6,7,8,9,10),
n1 <- c(23 ,27 ,26, 24 ,27 ,28 ,28 ,29 ,30 ,31),
n2 <- c(31 ,30 ,25, 23 ,22 ,26 ,24 ,29 ,25 ,27),
c1 <- c(44 ,0 ,0, 44 ,44 ,0 ,0 ,0 ,44 ,0),
c2 <- c(48 ,0 ,0, 48 ,48 ,0 ,0 ,0 ,48 ,0),
c3 <- c(50 ,0 ,0, 50 ,50 ,0 ,0 ,0 ,50 ,0),
f1 <- c(1 ,1 ,1, 2 ,2 ,3 ,3 ,3 ,4 ,4))
names(d)<- c("Seq","n1","n2","c1","c2","c3")`
下面是 RCode:用于组合线图和点图
`xyplot(c1 + c2 + c3 ~ seq | as.factor(f1), data = d) +
xyplot(n1 + n2 ~ seq| as.factor(f1), data = d, type = "l") `
单击蓝色 link 查看绘图,每个绘图应该在不同的 pdf 页面上
Here as we can Observer all group data is shown on one screen , Required it should created in diffrent pages as per pdf
正在创建该图代码的 Pdf
`pdf('Report.pdf',width = 35 ,height = 20)
print(xyplot(n1 + n2 + c1 + c2 + c3 ~ time | factor(f1), data=v1, pch=19,grid=TRUE,main="Time Series Analysis", xlab="Time",
lab="Y -axis",layout=c(1,1),points=TRUE,size = 50,fill="transparent"))
dev.off()`
当我们想要绘制 point plot
或 line plot
(其中之一)时,此代码是成功的但是在我们的情况下是不同的。我们想要线图和点,并且有两种不同的 xyplot 语法。现在查询是如何在每个页面中按照 factorwise 创建每个图,以便它可以以 pdf 格式编写,如我的代码中所示
您可以使用 latticeExtra
完成此操作,这样您就可以将网格 grob 作为图层添加。
pdf("report.pdf", paper = "a4")
for (i in unique(d$f1)) {
pl <- xyplot(c1 + c2 + c3 ~ seq, subset = d$f1 == i, data = d) +
xyplot(n1 + n2 ~ seq, subset = d$f1 == i, data = d, type = "l")
print(pl)
}
dev.off()
亲爱的,我有一个挑战,线图和点图必须在下面的 Lattice Package 的 XYPlot 中组合,这是一个可重现的例子,绘图应该在 PDF 上取决于因素例如:这里 factor(f1) = 4 所以应该b4 4页PDF【注:这里Factor是一组数据】
`library(lattice)
d=data.frame(seq <- c(1,2,3,4,5,6,7,8,9,10),
n1 <- c(23 ,27 ,26, 24 ,27 ,28 ,28 ,29 ,30 ,31),
n2 <- c(31 ,30 ,25, 23 ,22 ,26 ,24 ,29 ,25 ,27),
c1 <- c(44 ,0 ,0, 44 ,44 ,0 ,0 ,0 ,44 ,0),
c2 <- c(48 ,0 ,0, 48 ,48 ,0 ,0 ,0 ,48 ,0),
c3 <- c(50 ,0 ,0, 50 ,50 ,0 ,0 ,0 ,50 ,0),
f1 <- c(1 ,1 ,1, 2 ,2 ,3 ,3 ,3 ,4 ,4))
names(d)<- c("Seq","n1","n2","c1","c2","c3")`
下面是 RCode:用于组合线图和点图
`xyplot(c1 + c2 + c3 ~ seq | as.factor(f1), data = d) +
xyplot(n1 + n2 ~ seq| as.factor(f1), data = d, type = "l") `
单击蓝色 link 查看绘图,每个绘图应该在不同的 pdf 页面上 Here as we can Observer all group data is shown on one screen , Required it should created in diffrent pages as per pdf
正在创建该图代码的 Pdf
`pdf('Report.pdf',width = 35 ,height = 20)
print(xyplot(n1 + n2 + c1 + c2 + c3 ~ time | factor(f1), data=v1, pch=19,grid=TRUE,main="Time Series Analysis", xlab="Time",
lab="Y -axis",layout=c(1,1),points=TRUE,size = 50,fill="transparent"))
dev.off()`
当我们想要绘制 point plot
或 line plot
(其中之一)时,此代码是成功的但是在我们的情况下是不同的。我们想要线图和点,并且有两种不同的 xyplot 语法。现在查询是如何在每个页面中按照 factorwise 创建每个图,以便它可以以 pdf 格式编写,如我的代码中所示
您可以使用 latticeExtra
完成此操作,这样您就可以将网格 grob 作为图层添加。
pdf("report.pdf", paper = "a4")
for (i in unique(d$f1)) {
pl <- xyplot(c1 + c2 + c3 ~ seq, subset = d$f1 == i, data = d) +
xyplot(n1 + n2 ~ seq, subset = d$f1 == i, data = d, type = "l")
print(pl)
}
dev.off()