2016-08-05 5 views
1

からssplotで空の図を追加します。knitrは、私はRStudioで、次のチャンク持っseqHMMパッケージ

<<sumfig,dependson='data',fig.cap="Summary of sequences">>= 
ssplot(smult) 
@ 

ssplotを周波数グラフを作成し、smultは私の配列データであるseqHMMパッケージ内の関数です。

私のコードを実行すると、自分のpdfに2桁の数字が表示されます。最初の数字は白い図形で、{fig:sumfig1}というラベルが付いています。また2番目の数字は{fig:sumfig1}のラベルです。私はこのパッケージの他のプロットと同様の経験を持っています。私はまた、うまく動作する他のパッケージから私のファイル内のいくつかの他のグラフがあります。

パッケージに問題がありますか、何か間違っていますか?

答えて

1

この問題の根はseqHMM:ssplot、ないknitrのようです。でも、インタラクティブsesionに、ssplotは2つのプロット、空の実際のプロットを生成します。

チャンクにssplotのプロットが1つしかない場合は、chunk optionfig.keep = "last"を使用して、最初のプロットを無視して2番目の(最後の)プロットを表示することができます。 knitr1.14GitHubで利用できる現在の開発版)のよう

\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} 

、あなたはまた、正確にあなたが維持したいプロットを指定するfig.keepを使用することができます。fig.keep = c(1,3)は、第1および第3のプロットを維持します。

+0

はい、問題はパッケージにあります。 'fig.keep = 'last''は問題を解決します。チャンクに2つ以上のプロットがある場合、どのプロットを印刷する必要があるかを正確に指定するために使用できるチャンクオプションはありますか? – Milad

+0

fig.keepの文書によると、しかし、私はこれが有用な機能要求を満たす資格があると思います。私は明日の部分的な回避策を追加します。 –

+0

更新:[機能リクエスト](https://github.com/yihui/knitr/issues/1265)です。 –

関連する問題