R中的华夫饼图:图例文本仅由“A”、“B”、“C”组成;如何改变?

问题描述

我有这个数据框 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”等组成的图例文本:

Waffle chart with an ABC legend text

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

我尝试使用 this post 中的 names()-解决方案,但没有奏效。

解决方法

根据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")

-输出

enter image description here

,

与 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,xlab="1 square == 1 country")

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...