如何在不排除数据的情况下更改 Y 轴(未显示异常值但占中位数)?
How to change Y axis without excluding data (outliers not shown but accounted for median)?
A 用 ggplot2 绘制箱线图:
ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) +
geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = 1, show.legend = FALSE) +
scale_y_continuous(limits=c(0, 160), breaks = seq(0,160,20))
我明白了:
with outliers
我不想显示异常值,所以,我将代码更改为:
ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) +
geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = NA, show.legend = FALSE) +
scale_y_continuous(limits=c(0, 160), breaks = seq(0,160,20))
我明白了:
without outliers
到目前为止,还不错。
现在,我想减少我的 Y 轴,所以我减少限制和中断:
ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) +
geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = NA, show.legend = FALSE) +
scale_y_continuous(limits=c(0, 120), breaks = seq(0,120,20))
但现在看看第 2 列的中位数是如何修改的?
changed median
所以我的问题是,如何在不排除数据的情况下更改 Y 轴(未显示异常值,但占中位数)?
我试图只修改 "breaks" 或 "limits" 但它没有达到预期的效果...
是的,这不是直观的行为(至少它给出了警告信息)....您需要使用 coord_cartesian
来简单地放大而不更改数据。
比照。
ggplot(mtcars, aes(x = cyl, y = mpg)) +
+ geom_boxplot(aes(fill= cyl, group=cyl), colour = "black", outlier.shape = NA, show.legend = FALSE) +
+ coord_cartesian(ylim=c(0,25))
对比
ggplot(mtcars, aes(x = cyl, y = mpg)) +
+ geom_boxplot(aes(fill= cyl, group=cyl), colour = "black", outlier.shape = NA, show.legend = FALSE) +
+ scale_y_continuous(limits=c(0,25))
A 用 ggplot2 绘制箱线图:
ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) +
geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = 1, show.legend = FALSE) +
scale_y_continuous(limits=c(0, 160), breaks = seq(0,160,20))
我明白了:
with outliers
我不想显示异常值,所以,我将代码更改为:
ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) +
geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = NA, show.legend = FALSE) +
scale_y_continuous(limits=c(0, 160), breaks = seq(0,160,20))
我明白了:
without outliers
到目前为止,还不错。 现在,我想减少我的 Y 轴,所以我减少限制和中断:
ggplot(datasilice, aes(x = Duree_exposition_4gpes, y = CD25plusCD127moinsFoxP3plus_num)) +
geom_boxplot(aes(fill= Duree_exposition_4gpes), colour = "black", outlier.shape = NA, show.legend = FALSE) +
scale_y_continuous(limits=c(0, 120), breaks = seq(0,120,20))
但现在看看第 2 列的中位数是如何修改的?
changed median
所以我的问题是,如何在不排除数据的情况下更改 Y 轴(未显示异常值,但占中位数)?
我试图只修改 "breaks" 或 "limits" 但它没有达到预期的效果...
是的,这不是直观的行为(至少它给出了警告信息)....您需要使用 coord_cartesian
来简单地放大而不更改数据。
比照。
ggplot(mtcars, aes(x = cyl, y = mpg)) +
+ geom_boxplot(aes(fill= cyl, group=cyl), colour = "black", outlier.shape = NA, show.legend = FALSE) +
+ coord_cartesian(ylim=c(0,25))
对比
ggplot(mtcars, aes(x = cyl, y = mpg)) +
+ geom_boxplot(aes(fill= cyl, group=cyl), colour = "black", outlier.shape = NA, show.legend = FALSE) +
+ scale_y_continuous(limits=c(0,25))