Ich habe ein lokales Bild, das ich in eine .Rmd
Datei aufnehmen möchte, die ich dann knit
in HTML-Folien konvertieren werde Pandoc
. In diesem Beitrag wird das lokale Bild eingefügt:
![Image Title](path/to/your/image)
Gibt es eine Möglichkeit, diesen Code zu ändern, um auch die Bildgröße festzulegen?
Antworten:
Sie können das Bild beispielsweise auch mit dem
png
Paket lesen und wie ein normales Diagramm mitgrid.raster
demgrid
Paket zeichnen .Mit dieser Methode haben Sie die volle Kontrolle über die Größe Ihres Bildes.
quelle
img <- readPNG("path/to/your/image")
aber ich konnte die Lösung nicht bearbeiten.path/to/your/image
von Ihrer Frage kopiert . Ja, der Pfadname ist eine Zeichenfolge, und Sie benötigen Anführungszeichen, um eine Zeichenfolge zu definieren. Hoffe ich bin klar.Die Frage ist alt, erhält aber immer noch viel Aufmerksamkeit. Da die vorhandenen Antworten veraltet sind, finden Sie hier eine aktuellere Lösung:
Ändern der Größe lokaler Bilder
Ab
knitr
1.12 gibt es die Funktioninclude_graphics
. Von?include_graphics
(Hervorhebung von mir):Beispiel:
Vorteile:
Einschließlich generierter Bilder
Um den Pfad zu einem Plot zu erstellen, der in einem Block generiert wird (aber nicht enthalten ist), können die Blockoptionen
opts_current$get("fig.path")
(Pfad zum Figurenverzeichnis) sowieopts_current$get("label")
(Bezeichnung des aktuellen Blocks) hilfreich sein. Im folgenden Beispiel wirdfig.path
das zweite von zwei Bildern, die generiert (aber nicht angezeigt) wurden, in den ersten Block aufgenommen:Das allgemeine Muster der Figurenpfade lautet
[fig.path]/[chunklabel]-[i].[ext]
: Wochunklabel
ist die Bezeichnung des Blocks, in dem der Plot generiert wurde ? Ist der Plotindexi
(innerhalb dieses Blocks) undext
die Dateierweiterung (standardmäßigpng
in RMarkdown-Dokumenten).quelle
out.width='100pt'
gibt Latex einen Fehler bezüglich der unzulässigen Maßeinheit aus.r, echo=FALSE, ...
Un aktualisierte Antwort: in können
knitr 1.17
Sie einfach verwendenbearbeiten gemäß Kommentar von @jsb
Beachten Sie, dass dies nur ohne Leerzeichen funktioniert, z. B. {width = 250px}, nicht {width = 250px}
quelle
{width=250px}
nicht{width = 250px}
.xaringan
mitknitr_1.21
.Hier sind einige Optionen, mit denen die Datei in sich geschlossen bleibt, ohne das Bild erneut zu erstellen:
Wickeln Sie das Bild in
div
TagsVerwenden Sie ein Stylesheet
test.Rmd
test.css
Wenn Sie mehr als ein Bild haben, müssen Sie möglicherweise den Pseudo-Selektor für das n-te Kind für diese zweite Option verwenden.
quelle
<div> ... </div>
Lösung scheint sehr einfach zu sein. Was ist diestyle
Einstellung, um ein Bild unter Beibehaltung des Seitenverhältnisses auf einen festen Prozentsatz zu skalieren?Wenn Sie in HTML konvertieren, können Sie die Größe des Bildes mithilfe der HTML-Syntax wie folgt festlegen:
oder welche Höhe und Breite Sie geben möchten.
quelle
Hatte heute das gleiche Problem und fand eine andere Option
knitr 1.16
beim Stricken zu PDF (was erfordert, dass Sie Pandoc installiert haben):![Image Title](path/to/your/image){width=70%}
Diese Methode erfordert möglicherweise einige Versuche, um die für Sie geeignete Größe zu ermitteln. Dies ist besonders praktisch, da dadurch das Nebeneinanderstellen von zwei Bildern einfacher wird. Beispielsweise:
![Image 1](path/to/image1){width=70%}![Image 2](path/to/image2){width=30%}
Sie können kreativ werden und einige davon nebeneinander stapeln und nach Belieben dimensionieren. Weitere Ideen und Beispiele finden Sie unter https://rpubs.com/RatherBit/90926 .
quelle
Eine andere Option, die für mich funktioniert hat, ist das Spielen mit der dpi-Option
knitr::include_graphics()
wie folgt :... was sicher (es sei denn, Sie rechnen) im Vergleich zum Definieren von Dimensionen im Block Versuch und Irrtum ist, aber vielleicht hilft es jemandem.
quelle
Die knitr :: include_graphics-Lösung hat sich gut für die Größenänderung der Figuren bewährt, aber ich konnte nicht herausfinden, wie sie verwendet werden kann, um nebeneinander skalierte Figuren zu erstellen. Ich fand diesen Beitrag nützlich dafür.
quelle