- library(ggplot2)
-
- bp <- ggplot(PlantGrowth, aes(x=group, y=weight)) +
- geom_boxplot()
- bp
交换X轴与Y轴
接下来,演示如何实现x轴与y轴的互换(将x轴作为纵轴,y轴作为横轴):
- bp + coord_flip()
- # 自定义离散轴上的样本次序
- bp + scale_x_discrete(limits=c("trt1","trt2","ctrl"))
- # 颠倒离散轴上的样本次序
- # 获得因素型变量的层级次序
- flevels <- levels(PlantGrowth$group)
- flevels
- bp + scale_x_discrete(limits=flevels)
- # 上述过程也可以通过一行代码全部解决:
- bp + scale_x_discrete(limits = rev(levels(PlantGrowth$group)))
对应离散型变量,坐标轴上的刻度标记就是其因素层级本身,但是有时候这些因素层级会以变量的简称命名,在图表中我们更希望能够把它们的全称置于坐标轴的刻度标记上。
- bp + scale_x_discrete(breaks=c("ctrl", "trt1", "trt2"),
- labels=c("Control", "Treat 1", "Treat 2"))
- # 隐藏x轴刻度标记、标签和对应的网格线
- bp + scale_x_discrete(breaks=NULL)
- # 隐藏x轴刻度标记和标签,但保留网格线
- bp + theme(axis.ticks = element_blank(), axis.text.x = element_blank())
如果你只是想简单的确保某个值被包含在坐标轴的范围内,那么你可以使用expand_limits()函数,这个函数可以用来扩大坐标轴的范围,但不能用于缩小它。
- # 确保y=0在我们的坐标轴范围中
- bp + expand_limits(y=0)
- # 确保y=0到8在我们的坐标轴范围中
- bp + expand_limits(y=c(0,8))
我们也可以明确地指定y轴的值域范围,这里需要注意的是,当我们使用了scale_y_continuous命令时,原本的ylim命令将会被覆盖。
- # 设置连续型坐标轴的范围
- # 下列两行代码的作用一致
- bp + ylim(0, 8)
- # bp + scale_y_continuous(limits=c(0, 8))
原文内容较多,今天先搬运到这,感兴趣的同学可以直接访问 数析学院 网站继续学习


雷达卡





京公网安备 11010802022788号







