R 箱线图和xyplot重叠
我用我的数据做了一个条件箱线图,使用R 箱线图和xyplot重叠,r,lattice,boxplot,bwplot,R,Lattice,Boxplot,Bwplot,我用我的数据做了一个条件箱线图,使用lattice库的bwclot函数 A1 <- bwplot(measure ~ month | plot , data = prueba, strip = strip.custom(bg = 'white'), cex = .8, layout = c(2, 2), xlab = "Month", ylab = "Total",
lattice
库的bwclot
函数
A1 <- bwplot(measure ~ month | plot , data = prueba,
strip = strip.custom(bg = 'white'),
cex = .8, layout = c(2, 2),
xlab = "Month", ylab = "Total",
par.settings = list(
box.rectangle = list(col = 1),
box.umbrella = list(col = 1),
plot.symbol = list(cex = .8, col = 1)),
scales = list(x = list(relation = "same"),
y = list(relation = "same")))
我尝试使用grid在同一个图形上绘制它们。从gridExtra
库中排列:
grid.arrange(A1,B1)
但是有了这个,我没有重复数据,但是结果是这样的
我如何才能在“内部”绘制以曲线图为条件的箱线图中的降水量数据
谢谢您需要创建自定义面板功能。我用内置的数据演示:
假设您想使用barley
数据创建一个简单的bwclot
和xyplot
。您的代码可能如下所示:
library(lattice)
bwplot(yield ~ year | variety , data = barley)
xyplot(yield ~ year | variety , data = barley)
要组合绘图,需要创建一个面板函数,该函数首先绘制默认的panel.bwclot
,然后绘制panel.xyplot
。试试这个:
bwplot(yield ~ year | variety , data = barley,
panel = function(x, y, ...){
panel.bwplot(x, y, fill="grey", ...)
panel.xyplot(x, y, col="red", ...)
}
)
有关执行此操作的一些信息,请参见?xyplot
-向下滚动至面板
参数的详细信息。您需要创建自定义面板函数。我用内置的数据演示:
假设您想使用barley
数据创建一个简单的bwclot
和xyplot
。您的代码可能如下所示:
library(lattice)
bwplot(yield ~ year | variety , data = barley)
xyplot(yield ~ year | variety , data = barley)
要组合绘图,需要创建一个面板函数,该函数首先绘制默认的panel.bwclot
,然后绘制panel.xyplot
。试试这个:
bwplot(yield ~ year | variety , data = barley,
panel = function(x, y, ...){
panel.bwplot(x, y, fill="grey", ...)
panel.xyplot(x, y, col="red", ...)
}
)
在?xyplot
的帮助中有一些关于执行此操作的信息-向下滚动到面板
参数的详细信息。使用大麦
数据,与Andrie一样,使用晶格额外
的另一种方法:
library(lattice)
library(latticeExtra)
bwplot(yield ~ year | variety , data = barley, fill = "grey") +
xyplot(yield ~ year | variety , data = barley, col = "red")
像Andrie一样使用大麦
数据,另一种方法是使用晶格额外
:
library(lattice)
library(latticeExtra)
bwplot(yield ~ year | variety , data = barley, fill = "grey") +
xyplot(yield ~ year | variety , data = barley, col = "red")
我需要了解面板功能如何正常工作,我会试试。谢谢你的回答。我需要了解面板功能如何正常工作,我会试试。谢谢你的回答。谢谢你@Pascal。这看起来很简单,但它不适用于我的数据。我使用了bwplot(…)+as.layer(xyplot(…),但它只绘制bwplot,没有给出任何错误。为什么要使用as.layer()
?示例中没有as.layer()
。由于您试图同时绘制总计和百分比,我并不感到惊讶,因为它不起作用。很抱歉,我使用了as.layer()
,因为没有它,并且error说as.layer(lay)中的错误:参数“lay”丢失,没有默认值。无论如何,现在我再次尝试不使用as.layer()
并且错误没有出现,看起来都正常工作,但它只绘制了第一个绘图(如果我使用firstBWClot
它会绘制它,如果我使用firstxyplot
它只绘制它的曲线,%Precip
比Total
大33倍。谢谢@Pascal。它看起来非常简单,但不能处理我的数据。我已经使用BWClot(…)+作为.layer(xyplot(…)),但它只绘制bwplot,没有给出任何错误。为什么要使用as.layer()
?示例中没有as.layer()
。由于您试图同时绘制总计和百分比,因此它不起作用并不奇怪。抱歉,我使用了as.layer()
因为没有它,并且error在as.layer(lay)中表示错误:参数“lay”丢失,没有默认值。无论如何,现在我在没有as.layer()
的情况下重试了一次,错误没有出现,看起来都正常工作,但它只绘制了第一个绘图(如果我使用第一个bwclot
它绘制它,如果我使用第一个xyplot
它只绘制它的曲线,%Precip
比Total
大33倍。)。