gridExtra
程序包添加了一個類「pattern」的grob,它允許用矩形填充模式。例如,使用gridExtra和grid.pattern對齊面板上的圖案
library(gridExtra)
grid.pattern(pattern = 1)
創建一個填充對角線的框。我想創建一堆面板,其中每個面板都用這些對角線填充。這很容易:
library(lattice); library(gridExtra)
examplePlot <- xyplot(
1 ~ 1 | 1:2,
panel = function() grid.pattern(pattern = 1),
layout = c(1, 2),
# Remove distracting visual detail
scales = list(x=list(draw=FALSE), y=list(draw=FALSE)),
strip = FALSE, xlab = '', ylab = ''
)
print(examplePlot)
問題是對角線沒有跨面板對齊。也就是說,第一個面板的底部與第二個面板的頂部相遇時有一個視覺「突破」:此時,這些線條不排列。這是我想解決的問題。
我可以通過向grid.pattern
調用添加參數pattern.offset = c(.2005, 0)
來消除大部分視覺中斷,並確保它僅適用於底部面板。但是這個解決方案沒有概括。例如,如果我更改了模式(例如,通過使用的參數granularity
),此解決方案將不起作用。是否有更一般的修復?
我如果不改變自己的(高度實驗性的)'patternGrob'的實現,不要認爲有一個簡單的答案。你能否描述你的問題的更一般的背景 - 你想要做什麼?這可能是因爲沒有使用這種不可靠的功能,更容易做到這一點。 – baptiste
感謝您的回覆。真的,我想要做的就是用面板填充面板,並確保這些圖案無縫地跨面板排列。有關示例,請參閱下面的響應中的圖。 – user697473