it-swarm.dev

حجم المؤامرة والقرار مع R تخفيض السعر ، knitr ، pandoc ، متعاطي المخدرات

لا يناسب الشريحة افتراضيًا ، ولا يطبع حتى بأي وسيلة أخرى.

إليك .Rmd: تحرير: يبدو أنه يجب عليك استخدام plot () في كل قطعة. المؤامرة الثانية الآن يطبع.

# Plot should show at high resolution

```{r echo=FALSE, comment = ""}
# load some data
require(plyr)
rbi <- ddply(baseball, .(year), summarise,  
  mean_rbi = mean(rbi, na.rm = TRUE))
```

```{r}
# plot
plot(mean_rbi ~ year, type = "l", data = rbi)
```

# Second attempt
```{r, fig.width = 2, fig.height = 2}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

# Third attempt
```{r, out.width = 2, out.height = 2}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

# Fourth attempt
```{r, out.width = '200px', out.height = '200px'}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

# Fifth attempt
```{r, out.width = '\\maxwidth'}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

احفظ ذلك كـ test.Rmd ثم ترجم إلى النص باستخدام متعاطي المخدرات:

knit("test.Rmd")
system("pandoc -s -t beamer --slide-level 1 test.md -o test.tex")

افتح test.tex في RStudio وانقر فوق "ترجمة ملف PDF".

لقد قرأت Yihui وثائق وآمل أنني لم تفوت شيء واضح حقا.

تحرير رمز جديد يتضمن اقتراحات Yihui.

```{r setup, include=FALSE}
opts_chunk$set(dev = 'pdf')
```

# Plot should show at high resolution

```{r echo=FALSE, comment = ""}
# load some data
require(plyr)
rbi <- ddply(baseball, .(year), summarise,  
  mean_rbi = mean(rbi, na.rm = TRUE))
```

```{r}
# plot
plot(mean_rbi ~ year, type = "l", data = rbi)
```

# Second attempt
```{r, fig.width = 4, fig.height = 4}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

sessionInfo()

 R version 3.0.1 (16/05/2013)
Platform: x86_64-pc-linux-gnu (64-bit)

Local:
 [1] LC_CTYPE = en_US.UTF-8 LC_NUMERIC = C LC_TIME = C LC_COLLATE = C        
 [5] LC_MONETARY=C        LC_MESSAGES=C        LC_PAPER=C           LC_NAME=C           
 [9] LC_ADDRESS=C         LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] plyr_1.8       markdown_0.6   knitr_1.2      rCharts_0.3.51 slidify_0.3.52

loaded via a namespace (and not attached):
 [1] RJSONIO_1.0-3   codetools_0.2-8 digest_0.6.3    evaluate_0.4.3  formatR_0.8    
 [6] grid_3.0.1      lattice_0.20-15 stringr_0.6.2   tools_3.0.1     whisker_0.3-2  
[11] yaml_2.1.7  
58
nacnudus

أعتقد أن هذا هو السؤال المتكرر حول سلوك الأشكال في الشرائح متعاطي المخدرات المنتجة من Pandoc وخفض الأسعار. المشكلة الحقيقية هي أن R Markdown ينتج صور PNG افتراضيًا (من knitr) ، ومن الصعب الحصول على حجم صور PNG في LaTeX بشكل افتراضي (لا أعرف لماذا). ومع ذلك ، من السهل إلى حد ما الحصول على حجم PDF الصور الصحيحة. أحد الحلول هو إعادة تعيين الجهاز الرسومي الافتراضي إلى PDF في المقطع الأول:

```{r setup, include=FALSE}
knitr::opts_chunk$set(dev = 'pdf')
```

بعد ذلك ، ستتم كتابة جميع الصور كملفات PDF ، وسيكون LaTeX سعيدًا.

مشكلتك الثانية هي خلط وحدات HTML مع وحدات LaTeX في out.width/out.height. لاتكس و HTML هي تقنيات مختلفة جدا. يجب ألا تتوقع أن تعمل \maxwidth في HTML أو 200px في LaTeX. خاصةً عندما تريد تحويل Markdown إلى LaTeX ، من الأفضل ألا تضبط out.width/out.height (استخدم fig.width/fig.height ودع LaTeX يستخدم الحجم الأصلي).

45
Yihui Xie

يتم تحديد أحجام الأشكال بالبوصة ويمكن تضمينها كخيار عام لتنسيق إخراج المستند. فمثلا:

---
title: "My Document"
output:
  html_document:
    fig_width: 6
    fig_height: 4
---

ويمكن زيادة حجم قطعة الأرض في جهاز الرسوم على مستوى القطعة:

```{r, fig.width=14, fig.height=12}          #Expand the plot width to 14 inches

ggplot(aes(x=mycolumn1, y=mycolumn2)) +     #specify the x and y aesthetic
geom_line(size=2) +                         #makes the line thicker
theme_grey(base_size = 25)                  #increases the size of the font
```

يمكنك أيضًا استخدام الوسيطتين out.width و out.height لتحديد حجم المخطط في ملف الإخراج مباشرةً:

```{r, out.width="200px", out.height="200px"} #Expand the plot width to 200 pixels

ggplot(aes(x=mycolumn1, y=mycolumn2)) +     #specify the x and y aesthetic
geom_line(size=2) +                         #makes the line thicker
theme_grey(base_size = 25)                  #increases the size of the font
```
18
Cro-Magnon