Quarto 入门教程 (3):细节设置

简介: Quarto 入门教程 (3):细节设置

简介

本文是《手把手教你使用 Quarto 构建文档》第三期,前两期分别介绍了:

  1. 第一期(可点击) 介绍了Quarto 构建文档的原理;可创建的文档类型;对应的参考资源分享。
  2. 第二期(可点击)介绍了如何使用 Quarto,并编译出文档(PDF,MS Word,html)等。

本期将介绍 Quarto 细节设置部分(知识点很多!可收藏),

代码框展示

根据第二期的内容,读者可以编译出各种格式的文档,默认情况下 HTML 输出结果如下:

隐藏代码

如果读者需要隐藏所有代码,而只展示代码结果,可以通过 echo: false 实现。

---
title: "Quarto Computations"
execute:
  echo: false
---

运行后的结果如下:

如果需要指定展示某个代码,可以在该代码块中加入 echo: true

指定展示某个代码

注意:这里的选项设置和 R markdown 非常相似,具体见Rmarkdown教程(3)。例如:evalincludepromptcommentresults 和错误信息选项warningerrormessage 等。有关其他 Knitr 单元选项详细信息可见[1]

折叠代码

如果读者想折叠代码而不是隐藏所有代码,可使用 code-fold

---
title: "Quarto Computations"
format:
  html:
    code-fold: true
---

code-fold:代码折叠

还可以提供对代码折叠的全局控制,尝试添加 code-tools:

---
title: "Quarto Computations"
format:
  html:
    code-fold: true
    code-tools: true
---

图形设置

可以通过设置 fig-widthfig-height 来改变宽高比;fig-cap 修改标签以进行交叉引用;fig-alt 添加替代文本。

交叉引用

使用以下代码设置图片展示效,并使用 @fig-scatterplot 进行交叉引用。

#| label: fig-scatterplot
#| fig-cap: "City and highway mileage for 38 popular models of cars."
#| fig-alt: "Scatterplot of city vs. highway mileage for cars, where points are colored by the number of cylinders. The plot displays a positive, linear, and strong relationship between city and highway mileage, and mileage increases as the number of cylinders decreases."
#| fig-width: 6
#| fig-height: 3.5

多图排版

如果读者想并排两个图形,并为每个图添加描述性小标题。可以配合 使用 layout-ncol: 2fig-capfig-subcap。读者可以使用 @fig-mpg 引用母图。@fig-mpg-1@fig-mpg-2 引用子图。

#| label: fig-mpg
#| fig-cap: "City and highway mileage for 38 popular models of cars."
#| fig-subcap:
#|   - "Color by number of cylinders"
#|   - "Color by engine displacement, in liters"
#| layout-ncol: 2
#| column: page
ggplot(mpg, aes(x = hwy, y = cty, color = cyl)) +
  geom_point(alpha = 0.5, size = 2) +
  scale_color_viridis_c() +
  theme_minimal()
ggplot(mpg, aes(x = hwy, y = cty, color = displ)) +
  geom_point(alpha = 0.5, size = 2) +
  scale_color_viridis_c(option = "E") +
  theme_minimal()

数据框

可以使用 df-print 文档选项控制默认情况下打印数据框的方式。可用选项包括:

选项 描述
default 将默认的S3方法用于数据框架。
kable 使用 `knitr::kable()`[2]函数生成 Markdown 表格。
tibble 使用 `tibble`[3] 包的纯文本表。
paged 使用 `rmarkdown::paged_table()`[4] 实现带有行和列溢出分页的 HTML 表格。

例如,指定对数据框进行分页打印:

---
title: "Document"
format: 
   html:
     df-print: paged
---

内联代码

要在 markdown 中包含可执行表达式,请将表达式括在'r'中。例如,我们可以使用内联代码来说明数据中的观察数量:

我们数据中包含了 `r nrow(mpg)` 个数据。

缓存

如果文档包含计算时间过长的代码块,读者可能需要缓存这些代码块的结果。可以在 YAML 执行选项中设置 cache: true

execute:
  cache: true

缓存所有代码块可能不合适,也可以在特定的代码块中设置:

#| cache: true

渲染文档时,将看到在工作目录中创建了一个新文件夹,其名称与文档相同,后缀为 _cache。该文件夹包含缓存的结果。如果读者对该方面感兴趣,可见详细缓存细节[5]

参考资料

[1]

这: https://quarto.org/docs/reference/cells/cells-knitr.html

[2]

knitr::kable(): https://bookdown.org/yihui/rmarkdown-cookbook/kable.html

[3]

tibble: https://tibble.tidyverse.org/

[4]

rmarkdown::paged_table(): https://pkgs.rstudio.com/rmarkdown/reference/paged_table.html

[5]

缓存细节: https://quarto.org/docs/projects/code-execution.html#cache

目录
相关文章
|
30天前
|
数据可视化 测试技术 API
阅读源码有哪些好方式与好步骤
阅读源码是理解软件工作原理的关键。首先,了解背景、目的和技术栈。从文件头部的文档注释开始,逐步深入到复杂代码。利用Git、调试器和分析工具辅助理解。保持批判性思维,质疑代码设计并验证理解。拆分代码块,画图展示结构,使用版本控制追踪变更。搜索、阅读文档、API和单元测试以深化理解。参与讨论,做笔记,回顾历史版本,了解上下文,并通过实践加强领悟。每个人的方法可能不同,关键是持续学习和适应。
24 1
|
1月前
编程笔记 01工具及参考资料
编程笔记 01工具及参考资料
|
1月前
|
前端开发 JavaScript
使用canvas实现代码雨高级升阶版【附带源码和使用方法】
使用canvas实现代码雨高级升阶版【附带源码和使用方法】
33 0
|
9月前
|
消息中间件 设计模式 缓存
怎样更好地阅读源码?
最近,为了提高团队成员技术水平,考察了大家源码阅读情况。作为第一期任务,选择了spring框架,范围是spring-beans,spring-context,spring-core,以及spring-web。考核方式为:了解spring框架作用、核心概念,并选择感觉最重要的几个类进行详细阐述。
73 0
|
10月前
|
存储 数据可视化 Ubuntu
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
bcftools学习笔记丨软件简介、安装方式、使用方法、核心功能、参数解释等一文速览
|
12月前
|
Web App开发 前端开发 JavaScript
【Cesium 编程第一篇】概述、环境搭建、界面介绍
【Cesium 编程第一篇】概述、环境搭建、界面介绍
217 0
|
编解码 算法 Java
java编程中遇到的部分问题【点击文中参考解答】
java编程中遇到的部分问题【点击文中参考解答】
152 0
|
开发者
3.5基础概念: Watches 窗口简介|学习笔记
快速学习3.5基础概念: Watches 窗口简介
148 0
3.5基础概念: Watches 窗口简介|学习笔记
|
开发者 ice
3.4基础概念:常用调试页面简介|学习笔记
快速学习3.4基础概念:常用调试页面简介
110 0
3.4基础概念:常用调试页面简介|学习笔记
|
Web App开发 移动开发 前端开发
①万字《详解canvas api画图》小白前端入门教程(建议收藏)
①万字《详解canvas api画图》小白前端入门教程(建议收藏)
①万字《详解canvas api画图》小白前端入门教程(建议收藏)