gpt4 book ai didi

r - 使用 glue::glue 粘贴会更改 facet 中值的顺序

转载 作者:行者123 更新时间:2023-12-05 02:30:41 25 4
gpt4 key购买 nike

基于此回复 How to add greek letters to Facet_Grid strip labels? ,我成功地创建了一个在 facet 标签中带有希腊字母的 ggplot。

但是胶水库改变了我的标签 FacetX 的顺序,我该如何处理?

这是我的问题的一个例子,我想要 500 - 1000 - 5000 而不是 1000 - 500 - 5000。

library(ggplot2)
library(glue)

df <- expand.grid(1:3, 1:3)
df$FacetX <- c(500,1000,5000)[df$Var1]
df$FacetY <- c(0.1, 1, 10)[df$Var2]

ggplot(df, aes(Var1, Var2)) +
geom_point() +
facet_grid(glue('sigma[E]^2*" = {FacetY}"') ~ glue("'p = {FacetX}'"),
labeller = label_parsed)

最好的,

最佳答案

这与希腊字母无关,但 glue::glue 的使用会扰乱您的关卡。 (它根据增加的值分配级别顺序,这里是1<5)

你可以使用 forcats::fct_inorder 来防止这种情况

library(ggplot2)
library(glue)

df <- expand.grid(1:3, 1:3)
df$FacetX <- c(500,1000,5000)[df$Var1]
df$FacetY <- c(0.1, 1, 10)[df$Var2]

ggplot(df, aes(Var1, Var2)) +
geom_point() +
facet_grid(glue('sigma[E]^2*" = {FacetY}"') ~ forcats::fct_inorder(glue("'p = {FacetX}'")),
labeller = label_parsed)

reprex package 创建于 2022-04-06 (v2.0.1)

关于r - 使用 glue::glue 粘贴会更改 facet 中值的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71768638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com