此問題的根源似乎是seqHMM:ssplot
,而不是knitr
:即使在交互式sesion中,ssplot
也會生成兩個圖,即空白圖和實際圖。
如果只有一個塊在ssplot
中生成,則可以使用chunk optionfig.keep = "last"
忽略第一個圖並僅顯示第二個(最後一個)圖。
\documentclass{article}
\begin{document}
<<echo = FALSE, message = FALSE, fig.keep = "last">>=
library(seqHMM)
# from ?ssplot
data("biofam3c")
# Creating sequence objects
child_seq <- seqdef(biofam3c$children, start = 15)
marr_seq <- seqdef(biofam3c$married, start = 15)
left_seq <- seqdef(biofam3c$left, start = 15)
## Choosing colors
attr(child_seq, "cpal") <- c("#66C2A5", "#FC8D62")
attr(marr_seq, "cpal") <- c("#AB82FF", "#E6AB02", "#E7298A")
attr(left_seq, "cpal") <- c("#A6CEE3", "#E31A1C")
# Plotting state distribution plots of observations
ssplot(list("Children" = child_seq, "Marriage" = marr_seq,
"Residence" = left_seq))
@
\end{document}
由於knitr
1.14(當前開發版本,可在GitHub),你也可以使用fig.keep
指定哪些地塊正是你想要保留:fig.keep = c(1,3)
將保持第一和第三的情節。
是的,問題是與包。 'fig.keep ='last''解決了這個問題。如果我們在塊中有兩個以上的圖塊,是否有任何塊選項可用於指定必須打印哪些圖塊? – Milad
根據fig.keep的文件,沒有。不過,我認爲這可能符合有用的功能要求。我明天會添加一個部分解決方法。 –
更新:這是[功能要求](https://github.com/yihui/knitr/issues/1265)。 –