我使用bwplot
库的lattice
函数完成了包含我的数据的条件箱图。
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")))
然后,我已经完成了一个xyplot,因为我想使用xyplot
库中的lattice
将降水数据添加到上一个图表中。
B1 <- xyplot(precip ~ month | plot, data=prueba,
type="b",
ylab = '% precip',
xlab = 'month',
strip = function(bg = 'white', ...)
strip.default(bg = 'white', ...),
scales = list(alternating = F,
x=list(relation = 'same'),
y=list(relation = 'same')))
我尝试使用grid.arrange
库中的gridExtra
在同一个图表上绘制它们:
grid.arrange(A1,B1)
但有了这个,我不会重叠数据,但结果就是这样
我如何在由情节调节的箱形图“内部”绘制沉淀数据?
谢谢
答案 0 :(得分:2)
您需要创建自定义面板功能。我演示了内置的barley
数据:
想象一下,您想要使用bwplot
数据创建一个简单的xyplot
和barley
。您的代码可能如下所示:
library(lattice)
bwplot(yield ~ year | variety , data = barley)
xyplot(yield ~ year | variety , data = barley)
要合并绘图,您需要创建一个面板函数,首先绘制默认的panel.bwplot
,然后是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
的帮助中有一些关于这样做的信息 - 向下滚动到panel
参数的详细信息。
答案 1 :(得分:2)
使用Andrie所做的barley
数据,使用latticeExtra
的另一种方法:
library(lattice)
library(latticeExtra)
bwplot(yield ~ year | variety , data = barley, fill = "grey") +
xyplot(yield ~ year | variety , data = barley, col = "red")