有没有办法让knitr将fig.cap移到图上方?我需要它们,以便当为某个表选择了图表列表的超链接时,它会导航到该图。现在标题和超链接目标位于底部,所以当选择时,只有标题显示在页面顶部,并且必须向上滚动才能看到图...相当愚蠢。
我当前代码的示例:
<<Race, fig.lp='fig:', fig=TRUE, eval=TRUE, echo=FALSE, dev='png', fig.pos='H', fig.width=8, fig.height=4, fig.cap='Race', fig.align='center', dpi=300>>=
b <- ggplot(melt(race.plot, id=c("Type"), variable.name="Race", value.name="Count"))
b + geom_bar(aes(Race, y=Count, fill=Race), position="dodge", stat="identity", alpha=0.7) +
ggtitle("Race") + xlab("") + ylab("Count") +
facet_wrap(~Type, nrow=2, scale="free_y") +
theme(plot.title=element_text(size=25),
axis.title=element_text(size=15),
axis.text.y=element_text(size=10),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
@
我知道有很多方法可以使用乳胶并将fig.cap单独留在knitr chunk中:
\begin{figure}
\caption{This is a caption above the figure}
<<a-plot, echo=FALSE>>=
plot(1)
@
\end{figure}
大多数建议都是为了做到这一点,但是大约在2012年或2013年初。我想知道knitr的任何更改是否允许此功能。
我一直在使用knitr和xtable中的选项来控制输出中的大部分内容但是什么是共识?我应该尽可能避免这种情况,并尽可能在编织块之外使用乳胶选项吗?
答案 0 :(得分:2)
也许为时已晚,但我认为Yihui回答了这个问题。
您可以更改所有数字的编织钩子,使标题高于图形。例如,这是.Rmd文档中的块的一个版本。如果你告诉knitr更改图的选项,让文档首先看,然后是实际的。
```{r setup}
library(knitr)
knit_hooks$set(plot = function(x, options) {
paste('<figure><figcaption>', options$fig.cap, '</figcaption><img src="',
opts_knit$get('base.url'), paste(x, collapse = '.'),
'"></figure>',
sep = '')
})
```