我正在尝试制作一个带有包含表达式和常规值的分面标签的图表。但我无法使 label_parsed 与“multi_line = FALSE”一起使用。还有另一种方法可以使它在 1 行中吗?(我的意思是除了将两个因素结合在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))
Run Code Online (Sandbox Code Playgroud)
#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))
Run Code Online (Sandbox Code Playgroud)
#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))
Run Code Online (Sandbox Code Playgroud)
我正在尝试将数据(见下文)绘制为分组条形图.我已经按照其他建议改变position = ""了geom_bar,但我似乎无法使其发挥作用.我得到的只是一个堆积条形图.这是我最近的尝试:
ggplot(data = IFNg, aes(x = IFNg$Location, y = IFNg$`Fold Change`)) +
geom_bar(position = 'identity', stat = "identity", fill = IFNg$Day) +
ylab("Fold Change (log_2)") + geom_errorbar(limits, width=0.15)
Run Code Online (Sandbox Code Playgroud)
我也试过以下也会产生叠加图,但是这个图的颜色不同:
ggplot(data = IFNg, aes(x = IFNg$Location, y = IFNg$`Fold Change`,
fill= IFNg$Day)) + geom_bar(position = 'identity', stat = "identity") +
ylab("Fold Change (log_2)") + geom_errorbar(limits, width=0.15)
Run Code Online (Sandbox Code Playgroud)
这是我的其余代码与数据:
dat <- structure(list(Day = c(1L, 3L, 7L, 21L, 1L, 3L, 7L, 21L, 1L,
3L, 7L, 21L), Order = …Run Code Online (Sandbox Code Playgroud) 我正在使用 pheatmap 包。默认情况下,它将绘图绘制到屏幕上。就我而言,这意味着在 R studio 的 R markdown notebook 中输出。但我也想保存到文件中。如果我将它保存到一个文件中,并为其提供filename=参数,它就不会绘制到屏幕上(R 笔记本)。有没有办法让这两件事都发生?更一般地说,对于我想在屏幕上保存和显示的任何情节(ggplot2)?
我使用以下代码:
data(mtcars)
ggplot(mtcars, aes(x=factor(cyl), y=mpg)) +
geom_jitter(aes(colour=factor(gear)), width = 0.1) +
geom_boxplot(aes(fill=factor(gear)), alpha=0.6)
Run Code Online (Sandbox Code Playgroud)
但我想要来自 geom_jitter 的彩色点直接位于相应的(!)箱线图后面。有办法做到吗?
我有一个分类轴,我想在该分类变量中直观地分离组。我不想刻面,因为它占用了太多空间并且视觉上不那么干净。
这是我想要的一个可视化示例,它涉及一些乏味的黑客攻击(将用于间距的非数据条目的 alpha 设置为 0)。
library(ggplot2)
dd <- data.frame(x=factor(c(1,-1,2:10),levels=c(1,-1,2:10)), y=c(1,2,2:10), hidden=as.factor(c(0,1,rep(0,9))))
ggplot(data=dd,aes(x=x,y=y,alpha=hidden)) +
geom_point() + scale_alpha_manual(values=c("1"=0,"0"=1)) +
scale_x_discrete(breaks=c(1:10))
Run Code Online (Sandbox Code Playgroud)
我希望能够使用以下数据结构(其中变量“组”决定了间距发生的位置):
dd2 <- data.frame(x=factor(1:10,), y=c(1:10), groups=c("A",rep("B",9)))
Run Code Online (Sandbox Code Playgroud)

我想创建一个带有标签而不是点的 ggplot 图,但它们相互重叠,因此您无法阅读它们。有没有一种很好的方法可以自动移动它们,使其不会相互覆盖?
df = data.frame(x = c(1,4,5,6,6,7,8,8,9,1), y = c(1,1,2,5,5,5,3,5,6,4),
label = rep(c("long_label","very_long_label"),5))
ggplot(data=df) + geom_text(data=df,aes(x=x, y=y, label = label))
Run Code Online (Sandbox Code Playgroud)
谢谢
我一直在使用 emmeans 包为我的数据创建一个估计的边际均值,置信度为 0.95%。虽然我似乎无法将其更改为 0.99% 的置信度。任何帮助将非常感激。通常我会使用“levels=”函数,但它似乎不存在于emmeans。
library(emmeans)
emmeans(AcidLevels1, specs=~MAScore,)
Run Code Online (Sandbox Code Playgroud)
最好的,-内森