Tengo un documento de Rmarkdown que contiene algunos fragmentos de código de Python que usan la biblioteca reticulate . El código ejecuta la salida perfectamente; sin embargo, ¿cómo haría una referencia cruzada de los gráficos generados en el texto usando su etiqueta? Estoy usando bookdown::pdf_documents2 , etc., y no tengo ningún problema con la referencia en línea de fragmentos R usando el estándar \@ref(fig:my-plot) .
Un MWE sería:
```{python, my-plot} import matplotlib.pyplot as plt import numpy as np x = np.arange(10) y = np.arange(10) plt.figure() plt.plot(x, y) plt.show() ``` En la Figura \@ref(fig:my-plot) ....
Lo he intentado sin anteponer el tipo de fragmento (fig, etc.)
Entiendo que puedo guardar la imagen en un archivo e incluirla con knitr como un fragmento R subsiguiente, pero sería preferible hacerlo solo a través del fragmento de python.
Debo haber estado cometiendo un error al intentar previamente fig.cap dentro del fragmento, como sugiere Daniel correctamente en los comentarios de la pregunta. Intentando con esto nuevamente, puedo hacer una referencia cruzada perfectamente con el fragmento de python en todas las salidas de HTML, PDF y Word. El MWE actualizado es:
```{python, my-plot, fig.cap="My Caption"} import matplotlib.pyplot as plt import numpy as np x = np.arange(10) y = np.arange(10) plt.figure() plt.plot(x, y) plt.show() ``` En la Figura \@ref(fig:my-plot) ...
Cada una de las salidas en el encabezado YAML requería las diferentes opciones bookdown:: . Para PDF ( bookdown::pdf_document2 ), para word ( bookdown::word_document2 ) y Rmdformats en mi caso, la opción de use_bookdone: true .