Pregunta

Estoy intentando producir una galería de ggplot2 geomas usando knitr.Para hacer esto rápidamente pensé en usar el incorporado examples para completar el contenido.

Después de algunas pruebas y errores llegué a este punto:

\documentclass[a4paper,titlepage]{tufte-handout}
\usepackage{pdflscape}
\usepackage{graphicx}
\usepackage{alltt}

<<setup, include=FALSE, cache=FALSE>>=
options(replace.assign=TRUE,tidy=TRUE)
library(ggplot2)
library(plyr)
library(scales)
geoms <- setdiff(apropos("^geom_"),"geom_blank")
@

\title{ggplot2 Gallery}

\begin{document}
\maketitle

<<examples, echo=FALSE, comment=NA>>=
for(i in geoms){
    writeLines(paste0("\\section{",gsub("_","\\\\_",i),"}"))
    do.call("example",list(i))
}
@

\end{document}

Pero todavía hay una serie de problemas que no puedo resolver:

  • Parece que no puedo mezclar markup y asis opciones de resultados dentro del fragmento para que se produzcan los títulos de las secciones.(Esto será crucial para la navegación del documento más adelante).¿Existe alguna otra forma de producir escritura en LaTex dentro del fragmento?

  • Hay algunos ejemplos que arrojan errores (por eso geom_blank está excluido).El documentación de tejido afirma que el cálculo continúa en el caso de errores, pero parece que sólo continúa el proceso de tejido;el bucle de ejemplo cesa en ese punto.¿Hay alguna manera de evitar las partes de los ejemplos que son errores?

  • El example La salida del código no está resaltada sintaxis.(Útil pero no imprescindible).

¿Fue útil?

Solución

Ver 021-ggplot2-geoms.Rnw para el código completo.La idea básica es construir los fragmentos de código antes de tejerlos.El código es corto, por lo que probablemente no sea necesario explicarlo demasiado.

En teoría deberías poder conseguir algo como esto (más de 200 páginas de ggplot2 ejemplos):

ggplot2 geoms generated by knitr

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top