楼主: casey_c
2771 1

[学习分享] ggplot2 坐标轴处理 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.1003
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

楼主
casey_c 发表于 2016-12-13 10:36:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
首先构建一个用于演示处理的经典箱线图,图中的数据源自内置的数据集PlantGrowth
  1. library(ggplot2)
  2.    
  3. bp <- ggplot(PlantGrowth, aes(x=group, y=weight)) +
  4.         geom_boxplot()
  5. bp
复制代码
1.png
交换X轴与Y轴

接下来,演示如何实现x轴与y轴的互换(将x轴作为纵轴,y轴作为横轴):

  1. bp + coord_flip()
复制代码

2.png

离散型坐标轴处理改变样本在轴上的排列次序
  1. # 自定义离散轴上的样本次序
  2. bp + scale_x_discrete(limits=c("trt1","trt2","ctrl"))
复制代码
3.png
  1. # 颠倒离散轴上的样本次序
  2. # 获得因素型变量的层级次序
  3. flevels <- levels(PlantGrowth$group)
  4. flevels
复制代码
4.png
  1. bp + scale_x_discrete(limits=flevels)
复制代码
5.png
  1. # 上述过程也可以通过一行代码全部解决:
  2. bp + scale_x_discrete(limits = rev(levels(PlantGrowth$group)))
复制代码
设置刻度标记

对应离散型变量,坐标轴上的刻度标记就是其因素层级本身,但是有时候这些因素层级会以变量的简称命名,在图表中我们更希望能够把它们的全称置于坐标轴的刻度标记上。

  1. bp + scale_x_discrete(breaks=c("ctrl", "trt1", "trt2"),
  2.                           labels=c("Control", "Treat 1", "Treat 2"))
复制代码

6.png

  1. # 隐藏x轴刻度标记、标签和对应的网格线
  2. bp + scale_x_discrete(breaks=NULL)
复制代码

7.png

  1. # 隐藏x轴刻度标记和标签,但保留网格线
  2. bp + theme(axis.ticks = element_blank(), axis.text.x = element_blank())
复制代码

8.png

连续型坐标轴处理设置坐标轴范围与方向

如果你只是想简单的确保某个值被包含在坐标轴的范围内,那么你可以使用expand_limits()函数,这个函数可以用来扩大坐标轴的范围,但不能用于缩小它。

  1. # 确保y=0在我们的坐标轴范围中
  2. bp + expand_limits(y=0)   
复制代码

9.png

  1. # 确保y=0到8在我们的坐标轴范围中
  2. bp + expand_limits(y=c(0,8))
复制代码

10.png

我们也可以明确地指定y轴的值域范围,这里需要注意的是,当我们使用了scale_y_continuous命令时,原本的ylim命令将会被覆盖。

  1. # 设置连续型坐标轴的范围
  2. # 下列两行代码的作用一致
  3. bp + ylim(0, 8)
  4. # bp + scale_y_continuous(limits=c(0, 8))
复制代码

11.png

原文内容较多,今天先搬运到这,感兴趣的同学可以直接访问 数析学院 网站继续学习



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ggplot2 gplot plot GPL 坐标轴 坐标轴

已有 1 人评分经验 收起 理由
李会超 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

沙发
cheetahfly 在职认证  发表于 2016-12-13 13:28:51

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 23:58