1

我有这个数据框DF

|total | n  |
|------|----|
| 0    | 19 |
| 1    | 16 |
| 2    | 23 |
| 3    | 31 |
| 4    | 20 |
| 5    | 95 |

...或者,使其可重现:

> dput(DF)
structure(list(total = c(0, 1, 2, 3, 4, 5), n = c(19L, 16L, 23L, 
31L, 20L, 95L)), row.names = c(NA, 6L), class = "data.frame")

现在,如果我用它制作华夫饼图:

library(waffle)
waffle(DF$n, rows=6, size=0.6, 
       colors=c("#EAECEC", "#DFE0E2", "#B3B6BC", "#888D96", "#4E5656", 
                "#0A0B0B"), 
       #title="Legal Databases", 
       xlab="1 square == 1 country")

...我得到一个由“A”、“B”、“C”等组成的图例文本:

带有 ABC 图例文本的华夫饼图

如何更改该图例文本?我希望它读取“分数:0”、“分数:1”等,直到“分数:5”而不是“A”、“B”、“C”等。

我尝试使用names()这篇文章中的 - 解决方案,但没有奏效。

4

2 回答 2

3

根据waffle

如果向量未命名或仅部分命名,则将使用大写字母。

因此,我们可以创建一个命名向量并通过

library(waffle)
v1 <- setNames(DF$n, paste0("Score: ", seq_along(DF$n)-1))
waffle(v1, rows=6, size=0.6, 
       colors=c("#EAECEC", "#DFE0E2", "#B3B6BC", "#888D96", "#4E5656", 
                 "#0A0B0B"), 
        #title="Legal Databases", 
        xlab="1 square == 1 country")

-输出

在此处输入图像描述

于 2021-06-13T19:50:52.117 回答
2

与 akrun 类似的解决方案!在文档https://cran.r-project.org/web/packages/waffle/waffle.pdf中有参数parts= 用于图表的命名向量值:

library(waffle)
parts=c(DF$n)
names(parts) = paste0("Score: ", DF$total)
waffle(parts, rows=6, size=0.6, 
       colors=c("#EAECEC", "#DFE0E2", "#B3B6BC", "#888D96", "#4E5656", 
                "#0A0B0B"), 
       #title="Legal Databases", 
       xlab="1 square == 1 country")

在此处输入图像描述

于 2021-06-13T21:17:16.027 回答