ผมมีภาพในท้องถิ่นที่ฉันต้องการที่จะรวมอยู่ใน.Rmd
ไฟล์ที่ผมจะแล้วknit
และแปลงเป็น HTML Pandoc
สไลด์ด้วย ต่อโพสต์นี้จะแทรกภาพในพื้นที่:
![Image Title](path/to/your/image)
มีวิธีการแก้ไขรหัสนี้เพื่อตั้งขนาดภาพหรือไม่
ผมมีภาพในท้องถิ่นที่ฉันต้องการที่จะรวมอยู่ใน.Rmd
ไฟล์ที่ผมจะแล้วknit
และแปลงเป็น HTML Pandoc
สไลด์ด้วย ต่อโพสต์นี้จะแทรกภาพในพื้นที่:
![Image Title](path/to/your/image)
มีวิธีการแก้ไขรหัสนี้เพื่อตั้งขนาดภาพหรือไม่
คำตอบ:
นอกจากนี้คุณยังสามารถอ่านภาพโดยใช้png
แพคเกจตัวอย่างและพล็อตมันเช่นพล็อตปกติใช้grid.raster
จากgrid
แพคเกจ
```{r fig.width=1, fig.height=10,echo=FALSE}
library(png)
library(grid)
img <- readPNG("path/to/your/image")
grid.raster(img)
```
ด้วยวิธีนี้คุณสามารถควบคุมขนาดภาพของคุณได้อย่างเต็มที่
img <- readPNG("path/to/your/image")
เครื่องหมายคำพูดรอบไฟล์พา ธแต่ฉันไม่สามารถแก้ไขโซลูชันได้
path/to/your/image
จากคำถามของคุณ ใช่ชื่อพา ธ เป็นสตริงและคุณต้องมีเครื่องหมายคำพูดเพื่อกำหนดสตริง หวังว่าฉันชัดเจน
คำถามนั้นเก่า แต่ก็ยังได้รับความสนใจเป็นอย่างมาก เนื่องจากคำตอบที่มีอยู่ล้าสมัยนี่เป็นวิธีแก้ปัญหาที่ทันสมัยมากขึ้น:
ในฐานะของknitr
1.12include_graphics
มีฟังก์ชั่น จาก?include_graphics
(เน้นที่เหมือง):
ข้อได้เปรียบที่สำคัญของการใช้ฟังก์ชั่นนี้คือมันพกพาได้ในแง่ที่ว่ามันใช้งานได้กับทุกรูปแบบเอกสารที่
knitr
รองรับดังนั้นคุณไม่จำเป็นต้องคิดว่าคุณต้องใช้ตัวอย่างเช่น LaTeX หรือ Markdown syntax เพื่อฝังภายนอก ภาพ. ตัวเลือกก้อนที่เกี่ยวข้องกับการส่งออกกราฟิกที่ทำงาน R แปลงปกติยังทำงานสำหรับภาพเหล่านี้เช่นและout.width
out.height
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
ข้อดี:
ในการเขียนพา ธ ไปยังพล็อตที่สร้างขึ้นใน chunk (แต่ไม่รวม) ตัวเลือก chunk opts_current$get("fig.path")
(พา ธ ไปยังไดเร็กตอรี่ไดเรกทอรี) รวมถึงopts_current$get("label")
(เลเบลของ chunk ปัจจุบัน) อาจมีประโยชน์ ตัวอย่างต่อไปนี้ใช้fig.path
เพื่อรวมภาพที่สองของสองภาพที่สร้างขึ้น (แต่ไม่แสดง) ในอันแรก:
```{r generate_figures, fig.show = "hide"}
library(knitr)
plot(1:10, col = "green")
plot(1:10, col = "red")
```
```{r}
include_graphics(sprintf("%sgenerate_figures-2.png", opts_current$get("fig.path")))
```
รูปแบบทั่วไปของเส้นทางรูปคือ[fig.path]/[chunklabel]-[i].[ext]
โดยที่chunklabel
ฉลากของชิ้นส่วนที่มีการสร้างi
พล็อตคือดัชนีพล็อต (ภายในอันนี้) และext
เป็นนามสกุลไฟล์ (โดยค่าเริ่มต้นpng
ในเอกสาร RMarkdown)
out.width='100pt'
มิฉะนั้นยางจะทำให้เกิดข้อผิดพลาดเกี่ยวกับหน่วยวัดที่ผิดกฎหมาย
r, echo=FALSE, ...
ยังไม่มีคำตอบที่อัปเดต: knitr 1.17
คุณสามารถใช้
![Image Title](path/to/your/image){width=250px}
แก้ไขตามความคิดเห็นจาก @jsb
หมายเหตุทำงานได้โดยไม่มีช่องว่างเช่น {width = 250px} ไม่ใช่ {width = 250px}
{width=250px}
{width = 250px}
xaringan
knitr_1.21
นี่คือตัวเลือกบางอย่างที่ทำให้ไฟล์มีอยู่ในตัวเองโดยไม่ต้องปรับแต่งภาพใหม่:
div
แท็ก<div style="width:300px; height:200px">
![Image](path/to/image)
</div>
---
title: test
output: html_document
css: test.css
---
## Page with an image {#myImagePage}
![Image](path/to/image)
#myImagePage img {
width: 400px;
height: 200px;
}
หากคุณมีภาพมากกว่าหนึ่งภาพคุณอาจต้องใช้ตัวเลือกหลอกสำหรับเด็กตัวเลือกที่สองสำหรับตัวเลือกที่สองนี้
<div> ... </div>
แก้ปัญหาดูเหมือนง่ายมาก การstyle
ตั้งค่าเพื่อปรับขนาดรูปภาพใหม่เป็นเปอร์เซ็นต์คงที่คือการรักษาอัตราส่วนกว้างยาว?
หากคุณกำลังแปลงเป็น HTML คุณสามารถกำหนดขนาดของภาพโดยใช้ไวยากรณ์ HTML โดยใช้:
<img src="path/to/image" height="400px" width="300px" />
หรือความสูงและความกว้างใด ๆ ที่คุณต้องการจะให้
มีปัญหาเดียวกันในวันนี้และพบตัวเลือกอื่นknitr 1.16
เมื่อถักเป็น PDF (ซึ่งต้องการให้คุณติดตั้งแพนโดก):
![Image Title](path/to/your/image){width=70%}
วิธีนี้อาจทำให้คุณต้องทดลองใช้และมีข้อผิดพลาดเล็กน้อยเพื่อค้นหาขนาดที่เหมาะกับคุณ มันสะดวกมากเป็นพิเศษเพราะมันทำให้การวางภาพสองภาพเคียงข้างกันเป็นกระบวนการที่สวยกว่า ตัวอย่างเช่น:
![Image 1](path/to/image1){width=70%}![Image 2](path/to/image2){width=30%}
คุณสามารถสร้างสรรค์และซ้อนสองสามด้านข้างนี้และปรับขนาดตามที่เห็นสมควร ดูhttps://rpubs.com/RatherBit/90926สำหรับแนวคิดและตัวอย่างเพิ่มเติม
ตัวเลือกอื่นที่ใช้งานได้สำหรับฉันคือเล่นกับตัวเลือก dpi knitr::include_graphics()
เช่นนี้:
```{r}
knitr::include_graphics("path/to/image.png", dpi = 100)
```
... ซึ่งแน่นอน (เว้นแต่ว่าคุณจะทำคณิตศาสตร์) คือการทดลองและข้อผิดพลาดเมื่อเทียบกับการกำหนดขนาดในกลุ่ม แต่อาจจะช่วยใครสักคน
วิธีแก้ปัญหา knitr :: include_graphics ทำงานได้ดีสำหรับการปรับขนาดตัวเลข แต่ฉันไม่สามารถหาวิธีใช้เพื่อสร้างตัวเลขที่ปรับขนาดแบบเคียงข้างกัน ฉันพบว่าโพสต์นี้มีประโยชน์สำหรับการทำเช่นนั้น