R ggplot boxplot:订单填充变量
R ggplot boxplot: order filling variable
我正在生成一些箱线图,每个箱线图对应一个不同的标记,由一个分类变量填充:'CR' 和 'No CR'。
我希望绘图中的左侧框为 'No CR'-填充,右侧框为 'CR'。喜欢这个:
然而,对于某些地块,我是相反的(左'CR'和右'No CR')
我如何控制(排序?)哪个填充类别是左,哪个是右?
这是我的部分代码:
head(df)
# ID y CR
# 1 1 0 No CR
# 2 2 0 No CR
# 3 3 0 CR
# 4 4 4 No CR
ggplot(df, aes(x = CR, y = y)) +
geom_boxplot(aes(fill=CR)) +
labs(title="Highly differential peptides") +
scale_fill_manual(values=c("#35978f","#D6604D"))+
stat_compare_means( label.y = maxadn,size=5)
很高兴包含一个 minimal, reproducible example,这样可以更轻松地彻底回答您的问题。首先我会模拟一些数据:
library("ggplot2")
df <- data.frame(
CR = sample(c("CR", "No CR"), 20, replace=TRUE),
y = rpois(20, 2)
)
然后,如 this question 中所述,您可以直接设置限制:
ggplot(df, aes(x = CR, y = y)) +
geom_boxplot(aes(fill=CR)) +
scale_fill_manual(values=c("#35978f","#D6604D")) +
scale_x_discrete(limits=c("No CR", "CR"))
或使用因子水平来控制顺序:
ggplot(df, aes(x = factor(CR, levels=c("No CR", "CR")), y = y)) +
geom_boxplot(aes(fill=CR)) +
scale_fill_manual(values=c("#35978f","#D6604D")) +
labs(x = "CR")
没有任何重新排序:
ggplot(df, aes(x = CR, y = y)) +
geom_boxplot(aes(fill=CR)) +
scale_fill_manual(values=c("#35978f","#D6604D"))
您可以重新调整您的 CR 变量:
df$CR=factor(df$CR,levels=c("No CR","CR"))
然后尝试重新绘图
我正在生成一些箱线图,每个箱线图对应一个不同的标记,由一个分类变量填充:'CR' 和 'No CR'。
我希望绘图中的左侧框为 'No CR'-填充,右侧框为 'CR'。喜欢这个:
然而,对于某些地块,我是相反的(左'CR'和右'No CR')
我如何控制(排序?)哪个填充类别是左,哪个是右?
这是我的部分代码:
head(df)
# ID y CR
# 1 1 0 No CR
# 2 2 0 No CR
# 3 3 0 CR
# 4 4 4 No CR
ggplot(df, aes(x = CR, y = y)) +
geom_boxplot(aes(fill=CR)) +
labs(title="Highly differential peptides") +
scale_fill_manual(values=c("#35978f","#D6604D"))+
stat_compare_means( label.y = maxadn,size=5)
很高兴包含一个 minimal, reproducible example,这样可以更轻松地彻底回答您的问题。首先我会模拟一些数据:
library("ggplot2")
df <- data.frame(
CR = sample(c("CR", "No CR"), 20, replace=TRUE),
y = rpois(20, 2)
)
然后,如 this question 中所述,您可以直接设置限制:
ggplot(df, aes(x = CR, y = y)) +
geom_boxplot(aes(fill=CR)) +
scale_fill_manual(values=c("#35978f","#D6604D")) +
scale_x_discrete(limits=c("No CR", "CR"))
或使用因子水平来控制顺序:
ggplot(df, aes(x = factor(CR, levels=c("No CR", "CR")), y = y)) +
geom_boxplot(aes(fill=CR)) +
scale_fill_manual(values=c("#35978f","#D6604D")) +
labs(x = "CR")
没有任何重新排序:
ggplot(df, aes(x = CR, y = y)) +
geom_boxplot(aes(fill=CR)) +
scale_fill_manual(values=c("#35978f","#D6604D"))
您可以重新调整您的 CR 变量:
df$CR=factor(df$CR,levels=c("No CR","CR"))
然后尝试重新绘图