Tengo una imagen local que me gustaría incluir en un .Rmd
archivo que luego knit
convertiré en diapositivas HTML Pandoc
. Según esta publicación , esto insertará la imagen local:
![Image Title](path/to/your/image)
¿Hay alguna forma de modificar este código para establecer también el tamaño de la imagen?
Respuestas:
También puede leer la imagen usando el
png
paquete, por ejemplo, y trazarla como una trama normal usandogrid.raster
elgrid
paquete.Con este método, tiene control total del tamaño de su imagen.
fuente
img <- readPNG("path/to/your/image")
pero no pude editar la solución.path/to/your/image
tu pregunta. Sí, el nombre de la ruta es una cadena, y necesita comillas para definir una cadena. Espero estar claro.La pregunta es antigua, pero aún recibe mucha atención. Como las respuestas existentes están desactualizadas, aquí hay una solución más actualizada:
Cambiar el tamaño de las imágenes locales
A partir de
knitr
1.12 , existe la funcióninclude_graphics
. De?include_graphics
(énfasis mío):Ejemplo:
Ventajas:
Incluyendo imágenes generadas
Para componer la ruta a un gráfico que se genera en un fragmento (pero no incluido), las opciones de fragmento
opts_current$get("fig.path")
(ruta al directorio de figuras) así comoopts_current$get("label")
(etiqueta del fragmento actual) pueden ser útiles. El siguiente ejemplo utilizafig.path
para incluir la segunda de dos imágenes que se generaron (pero no se muestran) en el primer fragmento:El patrón general de las rutas de la figura es
[fig.path]/[chunklabel]-[i].[ext]
, dondechunklabel
está la etiqueta del fragmento donde se ha generadoi
el gráfico , es el índice del gráfico (dentro de este fragmento) yext
es la extensión del archivo (por defectopng
en los documentos de RMarkdown).fuente
out.width='100pt'
, de lo contrario, el látex arrojará un error sobre la unidad de medida ilegal.r, echo=FALSE, ...
Una respuesta actualizada:
knitr 1.17
simplemente puedes usareditar según el comentario de @jsb
Tenga en cuenta que esto funciona solo sin espacios, por ejemplo, {ancho = 250 px} no {ancho = 250 px}
fuente
{width=250px}
no{width = 250px}
.xaringan
conknitr_1.21
.Aquí hay algunas opciones que mantienen el archivo autocontenido sin modificar la imagen:
Envuelva la imagen en
div
etiquetasUsa una hoja de estilo
prueba.Rmd
test.css
Si tiene más de una imagen, es posible que deba usar el pseudo-selector nth-child para esta segunda opción.
fuente
<div> ... </div>
solución parece muy simple. ¿Cuál es lastyle
configuración para reescalar una imagen a un porcentaje fijo, manteniendo la relación de aspecto?Si está convirtiendo a HTML, puede establecer el tamaño de la imagen usando la sintaxis HTML usando:
o cualquier altura y ancho que quieras dar.
fuente
Tuve el mismo problema hoy y encontré otra opción
knitr 1.16
al tejer en PDF (que requiere que tenga instalado Pandoc):![Image Title](path/to/your/image){width=70%}
Este método puede requerir que haga un poco de prueba y error para encontrar el tamaño que funcione para usted. Es especialmente conveniente porque hace que poner dos imágenes una al lado de la otra sea un proceso más bonito. Por ejemplo:
![Image 1](path/to/image1){width=70%}![Image 2](path/to/image2){width=30%}
Puede ser creativo y apilar un par de estos uno al lado del otro y dimensionarlos como mejor le parezca. Consulte https://rpubs.com/RatherBit/90926 para obtener más ideas y ejemplos.
fuente
Otra opción que funcionó para mí es jugar con la opción dpi de
knitr::include_graphics()
esta manera:... que seguro (a menos que hagas los cálculos) es prueba y error en comparación con la definición de dimensiones en el fragmento, pero tal vez ayude a alguien.
fuente
La solución knitr :: include_graphics funcionó bien para cambiar el tamaño de las figuras, pero no pude descubrir cómo usarla para producir figuras redimensionadas lado a lado. Encontré esta publicación útil para hacerlo.
fuente