我不明白如何更改 R waffle::geom_waffle() 中填充變數的級別順序。
似乎對變數進行排序是無效的,因為它總是按觀察次數排序。
# First example
db_graph <- data.table::data.table(group = c("A", "B"),
n = c(13, 25))
ggplot2::ggplot(data = db_graph,
mapping = ggplot2::aes(fill = group,
values = n))
waffle::geom_waffle(flip = TRUE)
# Second example
db_graph <- db_graph[j = group := forcats::fct_rev(group)]
ggplot2::ggplot(data = db_graph,
mapping = ggplot2::aes(fill = group,
values = n))
waffle::geom_waffle(flip = TRUE)
uj5u.com熱心網友回復:
您可以通過使用例如重新排序您的資料框來實作您想要的結果setorder(db_graph, group)。但你是對的。我也期望順序是由因子水平的順序決定的。
library(ggplot2)
library(data.table)
library(waffle)
library(forcats)
db_graph <- data.table::data.table(
group = c("A", "B"),
n = c(13, 25)
)
db_graph <- db_graph[j = group := fct_rev(group)]
ggplot(
data = db_graph,
mapping = aes(
fill = group,
values = n
)
)
geom_waffle(flip = TRUE)

setorder(db_graph, group)
ggplot(
data = db_graph,
mapping = aes(
fill = group,
values = n
)
)
geom_waffle(flip = TRUE)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339998.html
上一篇:如何在模式之前洗掉所有內容?
