XiangyunHuang / msg

:book: 现代统计图形(人民邮电出版社出版) Modern Statistical Graphics

Home Page:https://bookdown.org/xiangyun/msg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【第四章 图库】如何在非图表处添加 caption 并交叉引用

pzhaonet opened this issue · comments

原稿第 4.2 节“茎叶图”的图 4.3 和 4.4,本身的内容不是图,而是一段代码运行的结果。原稿里强行作为插图处理,添加了 caption 和 label,并在其他地方交叉引用。

这个功能在 bookdown 里如何实现?

以 4.3 为例,

code2fig

这样转化处理即可

```{r stem-islands,fig.cap="(ref:stem-islands)",fig.scap="世界各地大陆块面积茎叶图"}
stem(islands)
stem(islands, width = 20)
# 可以增大窗宽stem(islands, scale = 2)看看效果
```

(ref:stem-islands) 本图展示了世界上主要的48块大陆面积的分布状况,可以明显看出,这些面积数据是严重右偏的,即:少数陆地块的面积非常大,而大多数陆地块的面积相对来说都很小。事实上,主要是七大洲的大陆块面积非常大,而其它岛屿诸如海南岛、帝汶岛、九洲岛等面积都相对较小。

得到的不是图片,极有可能这么些年下来 R 的函数发生变化,没想到内置的函数变化也这么大,我遇到的是 ggplot2 的变化,这个问题 @yihui 怎么看

我就是这样处理的,但是不灵:

f69bc4e

ggplot2 确实变化很大,我在拿破仑远征图也遇到了。不过 stem 应该变化不大,返回的本来就是文本不是图,只不过书稿强行当图处理了。

stem() 没有变化,如 @pzhaonet 所说,它本来就不是真正的图片,而是字符形式的“图”。在 LyX/LaTeX 里很容易把任意内容塞到 figure 环境中,在 R Markdown 中就没那么容易了……不行就别弄图了,就用字符形式的输出好了。

好的。这样的话,就得把正文里对 stem 图交叉引用的文字进行修改,但是我希望迁移就只迁移,尽量一字不改。比如原文 "R 包超过了 2500 个"这样的话我都没改,只是加了个脚注。改的话再说改的事儿。