ggplot2设置坐标轴范围_qplot()——ggplot2的快速绘图

先前写过几篇用ggplot2进行基本绘图的文章,但对于初学者,或只需绘制简单图形时,这些命令显得繁琐,这里介绍ggplot2中的快速绘图函数qplot(). 此函数相对能较快速便捷地绘制图形。

往期文章:

张光耀:ggplot2数据包画图系列1(散点图)​zhuanlan.zhihu.com
f5aa4ca6bd7408ecaba384e2c58b1737.png
张光耀:ggplot2数据包画图系列2(条形图)​zhuanlan.zhihu.com
a2c6c6f4dde650c31fdcd9a43356939f.png
张光耀:ggplot2数据包画图系列3(分组条形图)​zhuanlan.zhihu.com
4444ee3b4bea0ad1ecb0707c163deab6.png
张光耀:ggplot2数据包画图系列4(交互作用折线图)​zhuanlan.zhihu.com
75985cecb644f56e66262cfff75d46aa.png

首先说一下qplot()中参数的含义:

qplot(x = , # 变量X
      y = , # 变量Y
      data = , # 某数据名(如果要根据某数据绘图)
      color = , # 定义线的颜色和方块的边界颜色
      fill = , # 定义方块的填充颜色
      shape = , # 定义几何对象的形状
      alpha = , # 定义透明度(范围0–1)
      facets = , # 定义分面
      margins = , # 是否显示分面后的列统计
      geom = , # 定义几何对象
      xlim = , # 定义X轴的范围
      ylim = , # 定义Y轴的范围
      log = , # 是否对X和Y进行对数转换
      main = , # 定义主标题
      xlab = , # 定义X轴标题
      ylab = , # 定义Y轴标题
      asp = , # 定义Y/X轴的比率
      ... = )

下面我以R中自带的mtcars数据,对各参数举例演示一下。

mtcars收集了32辆不同品牌车辆的指标信息,包括重量(wt),百公里耗油量(加仑)(mpg),变速器类型(am)等。
  • simple start
qplot(x = wt, y = mpg, data = mtcars)

c70fbd62fb5c042975023e237a30b220.png

指定x和y后,默认绘图为散点图。

  • color
qplot(x = wt, y = mpg, data = mtcars, 
      color = am)

aac32283413bc09544399a4f87b62794.png

这里用对不同变速器用不同的颜色来表示,但是变速器为0-1编码,默认为连续型变量,可以将其转化为因子型:

qplot(x = wt, y = mpg, data = mtcars, 
      color = factor(am))

2acdf7b4cc1b845706a1533f2c783846.png

color也可以人为设置为某个颜色,但是需要注意,如果以下面的方式设置,其实是将blue当做一个变量,而不是一个颜色:

qplot(x = wt, y = mpg, data = mtcars, 
      color = 'blue')

f4d7e5c7fe6ccf15e04d7158ec0f92c9.png

要想设置为蓝色,应该用I()函数来实现:

qplot(x = wt, y = mpg, data = mtcars, 
      color = I('blue'))

807818d2d7b6d0865096db3aad746dfe.png
  • facet
qplot(x = wt, y = mpg, data = mtcars, 
      facets = ~am) # 按照变速器分面

8d8dcd2732ceff2bf70bca15dffadde0.png
qplot(x = wt, y = mpg, data = mtcars, 
      facets = cyl~am) # 按照气缸数和变速器分面,气缸数为行分面,变速器为列分面

901c782c9253da390d022831fe982d81.png
qplot(x = wt, y = mpg, data = mtcars, 
      facets = ~am*cyl) # 按照气缸数和变速器分面,气缸数和变速器都为列分面

ecc9bc30f118f7325249e5ddb55322e9.png
  • margins
qplot(x = wt, y = mpg, data = mtcars, 
      facets = cyl~am,
      margins = T) # 对行分面进行汇总

c94a4769b99372eea522b4322e19d6ba.png
  • geom
qplot(x = mpg, data = mtcars, geom = 'dotplot') # 点图

01b148cd48a0db2d17089072e1769b67.png
qplot(x = mpg, data = mtcars, geom = 'histogram')

ba8bcdfc81e5a6cb73666fc98299b31d.png
qplot(x = wt, y = mpg, data = mtcars,
      geom = 'line') # 折线

eeebe7046a100f100d05c857883a5b12.png
qplot(x = wt, y = mpg, data = mtcars,
      geom = 'smooth') # 拟合曲线

57bfe426c54d8250e1d27f790882b46b.png
qplot(x = wt, y = mpg, data = mtcars,
      geom = c('point','line')) # 散点+折线

39f32108574030187c3dd1bed684bd38.png
  • xlim & ylim
qplot(x = wt, y = mpg, data = mtcars)
qplot(x = wt, y = mpg, data = mtcars, 
      xlim = c(2,4), ylim = c(15,30))

c70fbd62fb5c042975023e237a30b220.png
坐标轴无限制

7a033b7b97b1d7e8752305587fa74f28.png
坐标轴限制
  • log
qplot(x = wt, y = mpg, data = mtcars,
      log = 'x')
qplot(x = wt, y = mpg, data = mtcars,
      log = 'xy')

60ddf2700ce3e87a8db7ae8248ec25a4.png
X轴对数转化

e30244115828e55eabf5df30c5165089.png
XY轴对数转化
  • main & xlab & ylab
qplot(x = wt, y = mpg, data = mtcars,
      main = 'Example of qplot()',
      xlab = 'Weight',
      ylab = 'Miles per gallon')

4447b1003366f8ada84923d1de7ad5fe.png
  • asp
qplot(x = wt, y = mpg, data = mtcars,
      asp = 2)

0f19d789fc2a5074dc4534f16c900b4f.png
qplot(x = wt, y = mpg, data = mtcars,
      asp = 1/2)

79894f21eddc2422c0d8334d9bbef031.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值