考虑以下:
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)
输出看起来像这样:
在plot.margin=unit(x=c(0,0,0,0),units="mm")传说上方有一个不寻常的白色(红色)空间.有谁知道如何解决这个问题?
谢谢你的任何提示.
真诚的,约翰
我正在尝试获取地面的四开主页,其中一个要求是自定义字体(免费网络字体; Tex-Gyre-Adventor)。
按照文档,我在各种迭代中使用了html特定于格式的mainfont标签(请参见下面的标题示例),但无法使这项工作正常工作 - 包括字体是否另外定义为 in @font-face(style.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) 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安装指出一个简单的方法吗?
使用单级列表/字典来参数化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它代替参数化代码块呢?
我正在构建一个广泛使用子文档(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变得有问题,因为主文档和子文档的工作目录不同,因此相对路径定义也不同.方法是:
在定义中使用绝对/扩展路径名data_dir.快速变得长/笨重.
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 …
考虑以下示例?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或其任何衍生软件包?
感谢您的任何见解。
这是一个 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)
我正在写一个方法,这会让生活变得非常简单。
想象:
myfunct <- function(x, ...){
dots <- list(...)
...
}
Run Code Online (Sandbox Code Playgroud)
如何在函数过程中区分点是从myfunct('something')(无点)还是myfunct('something', NULL)(点包括显式NULL)派生的?在我的实验两种情况下会导致is.null(dots)等同于TRUE。