小编bal*_*lin的帖子

ggplot2,顶部和边缘的传奇

考虑以下:

library(ggplot2)
library(grid)
ggplot(diamonds, aes(clarity, fill=cut)) + 
  geom_bar() +   
  theme(
    plot.margin=unit(x=c(0,0,0,0),units="mm"),
    legend.position="top",
    plot.background=element_rect(fill="red")) +
  guides(fill=guide_legend(title.position="top"))
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样: ggplot2输出plot.margin=unit(x=c(0,0,0,0),units="mm")传说上方有一个不寻常的白色(红色)空间.有谁知道如何解决这个问题?

谢谢你的任何提示.

真诚的,约翰

graphics r ggplot2

23
推荐指数
3
解决办法
3万
查看次数

四开:如何使用自定义(网络)字体?

我正在尝试获取地面的四开主页,其中一个要求是自定义字体(免费网络字体; Tex-Gyre-Adventor)。

按照文档,我在各种迭代中使用了html特定于格式的mainfont标签(请参见下面的标题示例),但无法使这项工作正常工作 - 包括字体是否另外定义为 in @font-facestyle.css以及许多其他尝试)。

谁能指出如何使用mainfont非标准字体的正确方向?

感谢您的指点!

---
title: "Page"
title-block-banner: false
format:
  html:
    theme: vapor
    mainfont: `https://fontlibrary.org/en/font/tex-gyre-adventor`
    code-fold: true
    toc: false
    number-sections: false
link-citations: yes
---
Run Code Online (Sandbox Code Playgroud)

html css quarto

8
推荐指数
1
解决办法
1996
查看次数

如何强制rstudio/knitr/rmarkdown使用替代的pandoc二进制文件(scholdoc)

scholdoc(参见scholarlymarkdown.com)是一个分支pandoc!最后!容易引用数字/代码块等内置 - 一个中心缺失的部分pandoc.

在使用/ in 时,是否有任何直接的方法强制使用scholdoc而不是pandoc使用二进制文件?knitrrmarkdownrstudio

当我进来时 .Rprofile

options(
  rstudio.markdownToHTML = function(inputFile, outputFile) {
    system(
      paste(
        "~/.cabal/bin/scholdoc",
        shQuote(inputFile),
        "-o", shQuote(outputFile)))
  })
Run Code Online (Sandbox Code Playgroud)

指示在这里,这似乎工作,但是,因为它缺少的由内部使用的命令行选项的所有方式pandoc,生产HTML出来的箱子,将导致我失望让所有的CLI选项右侧的一个痛苦的样子.

在研究了一些rmarkdown代码后,我还尝试将环境变量设置RSTUDIO_PANDOC为包含路径scholdoc- 无济于事.

任何人都可以通过最新rstudio/ scholdoc安装指出一个简单的方法吗?

pandoc rstudio knitr r-markdown

5
推荐指数
1
解决办法
374
查看次数

如何在R Markdown的YAML元数据中创建多级字典?

使用单级列表/字典来参数化rmarkdown文档时:

---
params:
  first_level: ~
---

```{r}
params
```
Run Code Online (Sandbox Code Playgroud)

和针织返回预期的

## $first_level
## NULL
Run Code Online (Sandbox Code Playgroud)

我无法使用多级列表/字典作为编织

---
params:
  first_level:
    second_level: ~
---

```{r}
params
```
Run Code Online (Sandbox Code Playgroud)

生产Error: no value field specified for YAML parameter 'first_level' Execution halted,我期待的地方

## $first_level
## $first_level$second_level
## NULL
Run Code Online (Sandbox Code Playgroud)

是否真的只支持一个级别列表或者我搞砸了什么?

正如我在下面评论的那样,可以使用预期的输出来实现

---
params:
  first_level: !r list(second_level = NULL)
---

```{r}
params
```
Run Code Online (Sandbox Code Playgroud)

但是为什么要用yaml它代替参数化代码块呢?

yaml r rstudio knitr r-markdown

5
推荐指数
1
解决办法
207
查看次数

`bookdown` /`rmarkdown` /`knitr`:`YAML`标题中的子文档和路径定义

我正在构建一个广泛使用子文档(via {r, child = 'somedir/child_doc.Rmd'})的报告基础结构,并通过主文档标题中的params字典进行参数化YAML.一个例子可能是:

---
title: Project Report
subtitle: POIGNANT DESCRIPTION OF THE WORK AT HAND
date: '`r format(Sys.time(), "%d %B, %Y")`'
output:
  bookdown::pdf_document2:
    template: ~
    toc: yes
    toc_depth: 2
colorlinks: yes
fontsize: 11pt
documentclass: scrartcl
geometry: margin=1in, a4paper
params:
  submodule:
    value:
      intro:
        data_dir: 'data'
---
Run Code Online (Sandbox Code Playgroud)

使用此结构,访问data_dir变得有问题,因为主文档和子文档的工作目录不同,因此相对路径定义也不同.方法是:

  1. 在定义中使用绝对/扩展路径名data_dir.快速变得长/笨重.

  2. params对象的后处理以扩展主文档中的路径.由于params从内部访问时是不可变的R组块,这只能在一个解决不雅方式:

    ```{r params-processing, include = FALSE}
    local_params <- params
    local_params$submodule$intro$data_dir <- path.expand(local_params$submodule$intro$data_dir)
    
    Run Code Online (Sandbox Code Playgroud)

    其次是内部使用local_params …

yaml r knitr r-markdown bookdown

4
推荐指数
1
解决办法
383
查看次数

将“facet_grid”条带与多面画布隔开?

考虑以下示例?ggplot2::facet_grid

p <- ggplot(mpg, aes(displ, cty)) + geom_point()
p + facet_grid(vars(drv), vars(cyl))
Run Code Online (Sandbox Code Playgroud)

结果如下图 在此处输入图片说明

我想要实现的是 facet-labeling strips 和实际图之间的较小偏移/空白。结果看起来(没有gimp参与): 在此处输入图片说明

是否可以使用ggplot2或其任何衍生软件包?

感谢您的任何见解。

r ggplot2

4
推荐指数
2
解决办法
490
查看次数

rmarkdown/knitr:如何将函数输出格式化为代码?

这是一个 rmarkdown 片段:

#Is this even achievable?
```{r echo = FALSE, comment = ""}
install.package(mvbutils)
library(mvbutils)
make.usage.section("paste", env=asNamespace('base'))
```
Run Code Online (Sandbox Code Playgroud)

正如预期的那样(当在 RStudio 中编织到 时pdf)打印出一些类似的东西

paste(..., sep = " ", collapse = NULL)
Run Code Online (Sandbox Code Playgroud)

请注意##,默认情况下没有前导, 附加到函数输出,但在此示例中使用comment标志关闭。是否可以进一步调整该输出的表示,使其等同于(代码突出显示和所有)的输出:

```{r eval = FALSE}
paste(..., sep = " ", collapse = NULL)
```
Run Code Online (Sandbox Code Playgroud)

我正在写一个方法,这会让生活变得非常简单。

r rstudio knitr r-markdown

3
推荐指数
1
解决办法
432
查看次数

R:区分 EMPTY 省略号和包含 NULL 的省略号?

想象:

myfunct <- function(x, ...){
  dots <- list(...)
...
}
Run Code Online (Sandbox Code Playgroud)

如何在函数过程中区分点是从myfunct('something')(无点)还是myfunct('something', NULL)(点包括显式NULL)派生的?在我的实验两种情况下会导致is.null(dots)等同于TRUE

r ellipsis

2
推荐指数
1
解决办法
37
查看次数

标签 统计

r ×6

knitr ×4

r-markdown ×4

rstudio ×3

ggplot2 ×2

yaml ×2

bookdown ×1

css ×1

ellipsis ×1

graphics ×1

html ×1

pandoc ×1

quarto ×1