multi_line 不适用于 label_parsed?
multi_line does not work with label_parsed?
我正在尝试使用包含表达式和常规值的分面标签制作图表。但是我无法让 label_parsed 与 'multi_line = FALSE' 一起工作。还有另一种方法可以让它成为一条线吗? (我的意思是除了将两个因素结合在 1 中)
示例:
df<-data.frame(x=1:3,y=1:3,f1=rep("TCRb",3),f2=1:3)
#make label to be parsed
df$f1.<-df$f1
levels(df$f1.)<-"paste('TCR',beta)^'-/-'"
#plot with two factor labels in 1 line
ggplot(df,aes(x,y))+geom_point()+
facet_wrap(~f1+f2,labeller=labeller(.multi_line=F))
#now with two lines and the parsed label
ggplot(df,aes(x,y))+geom_point()+
facet_wrap(~f1.+f2,labeller=labeller(f1.=label_parsed,.multi_line=T))
#it doesn't work with 1 line
ggplot(df,aes(x,y))+geom_point()+
facet_wrap(~f1.+f2,labeller=labeller(f1.=label_parsed,.multi_line=F))
如果您使用 label_parsed
作为整个边距的标签(在您的示例中为 .cols
),您可以同时解析并将所有内容保持在同一行上。
ggplot(df, aes(x, y)) +
geom_point() +
facet_wrap(~f1. + f2, labeller = labeller(.cols = label_parsed, .multi_line = FALSE))
我不知道如何将参数直接传递给标签函数,如 label_parsed
,但另一种选择是创建一个新的解析函数,将 multi_line
设置为 FALSE
.
label_parsed2 = function(labels) {
label_parsed(labels = labels, multi_line = FALSE)
}
ggplot(df, aes(x, y)) +
geom_point() +
facet_wrap(~f1. + f2, labeller = label_parsed2)
我正在尝试使用包含表达式和常规值的分面标签制作图表。但是我无法让 label_parsed 与 'multi_line = FALSE' 一起工作。还有另一种方法可以让它成为一条线吗? (我的意思是除了将两个因素结合在 1 中)
示例:
df<-data.frame(x=1:3,y=1:3,f1=rep("TCRb",3),f2=1:3)
#make label to be parsed
df$f1.<-df$f1
levels(df$f1.)<-"paste('TCR',beta)^'-/-'"
#plot with two factor labels in 1 line
ggplot(df,aes(x,y))+geom_point()+
facet_wrap(~f1+f2,labeller=labeller(.multi_line=F))
#now with two lines and the parsed label
ggplot(df,aes(x,y))+geom_point()+
facet_wrap(~f1.+f2,labeller=labeller(f1.=label_parsed,.multi_line=T))
#it doesn't work with 1 line
ggplot(df,aes(x,y))+geom_point()+
facet_wrap(~f1.+f2,labeller=labeller(f1.=label_parsed,.multi_line=F))
如果您使用 label_parsed
作为整个边距的标签(在您的示例中为 .cols
),您可以同时解析并将所有内容保持在同一行上。
ggplot(df, aes(x, y)) +
geom_point() +
facet_wrap(~f1. + f2, labeller = labeller(.cols = label_parsed, .multi_line = FALSE))
我不知道如何将参数直接传递给标签函数,如 label_parsed
,但另一种选择是创建一个新的解析函数,将 multi_line
设置为 FALSE
.
label_parsed2 = function(labels) {
label_parsed(labels = labels, multi_line = FALSE)
}
ggplot(df, aes(x, y)) +
geom_point() +
facet_wrap(~f1. + f2, labeller = label_parsed2)